Blog of Khlebalin Dmitriy

(Дорогу осилит идущий…)

Install Cacti на CentOS 7.x.


Как я ранее писал, мы движемся в сторону Zabbix, но для полноты картины, решил все же «накатить» и посмотреть на Cacti (он же «Кактус»).

 Установим Apache (у меня уже установлен).

# yum install httpd httpd-devel

Установим MySQL (аналогично, у меня уже установлен).

# yum install mysql mysql-server

# yum install mariadb-server -y

Установим PHP (уже присутствует)

# yum install php-mysql php-pear php-common php-gd php-devel php php-mbstring php-cli

# yum install php-snmp

# yum install net-snmp-utils net-snmp-libs

Установим RRDTool.

# yum install rrdtool

Запустим все это:

# systemctl start httpd.service

# systemctl start mariadb.service

# systemctl start snmpd.service

Сконфигурируем System Start-up Links.

# systemctl enable httpd.service

# systemctl enable mariadb.service

# systemctl enable snmpd.service

Установим Cacti.

# yum install cacti

Сконфигурим MySQL Server для Cacti.

-Зададим пароль пользователя в MySQL

#mysqladmin -u root password PASSWORD

-Создадим базу Cacti

# mysql -u root -p

Установим Cacti Tables to MySQL.

# rpm -ql cacti | grep cacti.sql

установим таблицу (потребуется пароль пользователя)

# mysql -u cacti -p cacti < /usr/share/doc/cacti-0.8.8b/cacti.sql

Сконфигурируем MySQL параметры для Cacti.

# nano /etc/cacti/db.php

$database_type = «mysql«;

$database_default = «cacti«;

$database_hostname = «localhost«;

$database_username = «cacti«;

$database_password = «PASSWORD»;

$database_port = «3306»;

$database_ssl = false;

Если включен фаервол (у меня он выключен), то:

# firewall-cmd —permanent —zone=public —add-service=http

# firewall-cmd —reload

Сконфигурируем Apache Server для Cacti. 

# nano /etc/httpd/conf.d/cacti.conf

Alias /cacti    /usr/share/cacti
 
<Directory /usr/share/cacti/>
        Order Deny,Allow
        Deny from all
        Allow from 192.168.10.0/24
</Directory>

Alias /cacti    /usr/share/cacti

<Directory /usr/share/cacti/>
        <IfModule mod_authz_core.c>
                # httpd 2.4
                Require all granted
        </IfModule>
        <IfModule !mod_authz_core.c>
                # httpd 2.2
                Order deny,allow
                Deny from all
                Allow from all
        </IfModule>
</Directory>

Рестартанем сервис Apache:

# systemctl restart httpd.service

Настроим Cron для Cacti.

# vi /etc/cron.d/cacti

#*/5 * * * * cacti /usr/bin/php /usr/share/cacti/poller.php > /dev/null 2>&1

Далее можем запускать сервис:

http://192.168.10.120/cacti/

Но, по итогу у меня вот такой «кулак дружбы»:

Посмотрим что можем сделать по теме: на одном из форумов наткнулся вот на такую рекомендацию.

# mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root -p mysql

mysql> use mysql;

mysql> GRANT SELECT ON mysql.time_zone_name TO cactiuser@localhost;

mysql> flush privileges;

reply

Ошибка исправилась, но появилась новая:

Делаем вот так:

touch /usr/share/cacti/log/cacti.log
chown apache:apache /usr/share/cacti/log/cacti.log
chmod 755 /usr/share/cacti/log/cacti.log

Снова видим:

Решение вот это:

Description of problem:
This bug is encountered after installing EPEL cacti. SElinux permissions are not adjusted at install time to allow purging of the cacti log from the user interface.
SELinux is preventing httpd from ‘write’ accesses on the file /var/log/cacti/cacti.log.

***** Plugin catchall (100. confidence) suggests **************************

If you believe that httpd should be allowed write access on the cacti.log file by default.
Then you should report this as a bug.
You can generate a local policy module to allow this access.
Do
allow this access for now by executing:
# ausearch -c ‘httpd’ —raw | audit2allow -M my-httpd
# semodule -i my-httpd.pp

Но и это оказалось не все, при следующем шаге:

Вписываем руками наш путь: /var/log/cacti/cacti.log

Ошибка пропала, но появилась следующая:

Spine Config File Path

На одном из форумов наткнулся на отдельную настройку всего этого:

Here we will take a deep dive into installing and configuring the Spine poller:

  1. As with the Cacti main files, go to http://www.cacti.net and click on Spine under the Download section. Make a note of the latest stable version.
  2. If not already done, create the CACTIVERSION variable and set it to the current Cacti version:

Copy

export CACTIVERSION=1.1.28

  1. Change directories to /tmp/ and issue the following command:

Copy

cd /tmpwget https://www.cacti.net/downloads/spine/cacti-spine-$CACTIVERSION.tar.gz

  1. Extract the file:

Copy

tar -xzvf cacti-spine-$CACTIVERSION.tar.gz

  1. Change to the newly created directory:

Copy

cd cacti-spine-$CACTIVERSION

  1. Prepare the directory for compilation. Please note that this step may not work on other distributions, and additional steps may be needed:

Copy

./bootstrap

  1. Configure the compiling environment:

Copy

./configure 

  1. Compile Spine:

Copy

make

  1. Once the make command finishes, install Spine:

Copy

make install

  1. Now change the owner of the spine binary to root and set the sticky bit so you can use ICMP pings:

Copy

chown root:root /usr/local/spine/bin/spinechmod +s /usr/local/spine/bin/spine

  1. You now have Spine installed, but it needs to be configured. Therefore, copy the sample configuration file to a location where Spine will find it:

Copy

cp /usr/local/spine/etc/spine.conf.dist /etc/spine.conf

  1. Edit the file in vi:

Copy

vi /etc/spine.conf

  1. Change the database configuration to match the settings from earlier:
  1. Create a symbolic link in /sbin to the spine binary:

Copy

ln -s /usr/local/spine/bin/spine /sbin/spine

 

Ошибка не пропала, он так и продолжил ругаться на неправильные пути к папкам, хотя теперь они были правильными.

Продолжил «плясать с бубном» но тут вдруг обнаружил, что доступно обновление пакета cacti, обновил, и о чудо, все благополучно сразу подхватилось.

Наконец чудо свершилось, не без проблем конечно…

В моем случае : admin/password

Далее осталось добавить устройства и посмотреть, как это будет…. Но это уже тема отдельного повествования.

Всем хорошей работы!!!

 

25.07.2019 - Posted by | linux and unix

Sorry, the comment form is closed at this time.

%d такие блоггеры, как: