Это старая версия документа!
/usr/ports/net-mgmt/cacti make install clean
По завершению установки получаю.
Installing cacti-1.2.1… ==⇒ Creating groups. Creating group 'cacti' with gid '107'. ==⇒ Creating users Creating user 'cacti' with uid '107'.
Cacti is now installed. If you install it for the first time, you may have to follow this steps to make it work correctly:
1. Create the MySQL database, a cacti user, and initialize:
a) CREATE DATABASE `cacti`; b) Create a mysql user/password for cacti: CREATE USER 'cacti'@'localhost' IDENTIFIED BY 'password'; FLUSH PRIVILEGES; c) Add GRANTS: GRANT ALL ON `cacti`.* TO 'cacti'@'localhost'; GRANT SELECT ON `mysql`.`time_zone_name` TO 'cacti'@'localhost'; FLUSH PRIVILEGES; d) Import the default cacti database: mysql --database=cacti -ucacti -p < /usr/local/share/cacti/cacti.sql
If you haven't already imported your MySQL timezone data, you need to do this: mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root -p mysql
NOTE:
2. Edit /usr/local/share/cacti/include/config.php from the template
config.php.orig.
PHP requires the time zone to be explicitly set rather that rely on the system time zone, otherwise poller complains. I added the following line to my config.php:
date_default_timezone_set('America/Los_Angeles');
3. Add the following line to cron for cacti: */5 * * * * /usr/local/bin/php /usr/local/share/cacti/poller.php > /dev/null 2>&1
4. Example Apache 2.4 configuration:
(This assumes that you have installed a working PHP Apache install, e.g. with mod_php)
<FilesMatch "\.php$"> SetHandler application/x-httpd-php </FilesMatch> <FilesMatch "\.phps$"> SetHandler application/x-httpd-php-source </FilesMatch>
DirectoryIndex index.php
DocumentRoot "/usr/local/share/cacti"
Alias /cacti "/usr/local/share/cacti/" Alias /Cacti "/usr/local/share/cacti/"
<Directory "/usr/local/share/cacti"> Require all granted AllowOverride None Order Allow,deny Allow from all </Directory>
5. Open a Cacti login page in your web browser and follow the install instructions.
If you update cacti, open a login page and an updating process will start automatically.
NOTEs as of 10Aug2014:
1) Cacti now better supports hier(7)
a) Cacti log files are now found under /var/log/cacti where you can manage them using newsyslog. b) Cacti RRD files are now found under /var/db/cacti/rra.
If you have an existing Cacti installation these paths are also found in Cacti's SQL database and MUST be updated. These two SQL commands should do the trick:
UPDATE settings SET value='/var/log/cacti/log' \ WHERE name='path_cactilog';
UPDATE poller_item SET rrd_path=\ REPLACE(rrd_path,'/usr/local/share/cacti/rra','/var/db/cacti/rra') \ WHERE rrd_path REGEXP '^/usr/local/share/cacti/rra';
2) The PERL paths in the Cacti PERL scripts have been updated to
/usr/local/bin.
Other Erratas:
1) Mount linprocfs in /compat/linux/proc will allow most scripts to work. 2) This package does not install a MySQL server in case you wish to use an external MySQL server. Install a package such as mysql57-server if you require a local server.
==⇒ Cleaning for rrdtool-1.7.0_2 ==⇒ Cleaning for rrdtool-py36-1.7.0_2 ==⇒ Cleaning for ruby-2.4.5_1,1 ==⇒ Cleaning for libyaml-0.2.1 ==⇒ Cleaning for libunwind-20170615 ==⇒ Cleaning for intltool-0.51.0_1 ==⇒ Cleaning for p5-XML-Parser-2.44 ==⇒ Cleaning for freetype2-2.9.1 ==⇒ Cleaning for cairo-1.15.12,2 ==⇒ Cleaning for xcb-util-renderutil-0.3.9_1 ==⇒ Cleaning for xorg-macros-1.19.2 ==⇒ Cleaning for libxcb-1.13.1 ==⇒ Cleaning for check-0.12.0_1 ==⇒ Cleaning for xcb-proto-1.13 ==⇒ Cleaning for libpthread-stubs-0.4 ==⇒ Cleaning for libXau-1.0.9 ==⇒ Cleaning for xorgproto-2018.4 ==⇒ Cleaning for libXdmcp-1.1.2_2 ==⇒ Cleaning for xcb-util-0.4.0_2,1 ==⇒ Cleaning for pixman-0.34.0_1 ==⇒ Cleaning for libX11-1.6.7,1 ==⇒ Cleaning for xtrans-1.3.5 ==⇒ Cleaning for libXext-1.3.3_3,1 ==⇒ Cleaning for libXrender-0.9.10_2 ==⇒ Cleaning for fontconfig-2.12.6,1 ==⇒ Cleaning for gperf-3.0.3_2 ==⇒ Cleaning for mesa-libs-18.3.2 ==⇒ Cleaning for wayland-protocols-1.17 ==⇒ Cleaning for wayland-1.16.0_1 ==⇒ Cleaning for libepoll-shim-0.0.20181229 ==⇒ Cleaning for llvm60-6.0.1_6 ==⇒ Cleaning for binutils-2.32,1 ==⇒ Cleaning for swig30-3.0.12 ==⇒ Cleaning for lua52-5.2.4 ==⇒ Cleaning for ninja-1.8.2_1,2 ==⇒ Cleaning for libXdamage-1.1.4_5 ==⇒ Cleaning for libXfixes-5.0.3_2 ==⇒ Cleaning for libxshmfence-1.2_4 ==⇒ Cleaning for libXxf86vm-1.1.4_3 ==⇒ Cleaning for libdrm-2.4.96,1 ==⇒ Cleaning for libpciaccess-0.13.5 ==⇒ Cleaning for pciids-20190213 ==⇒ Cleaning for pango-1.42.4_1 ==⇒ Cleaning for gobject-introspection-1.56.1,1 ==⇒ Cleaning for python36-3.6.8 ==⇒ Cleaning for meson-0.49.2 ==⇒ Cleaning for py27-setuptools-40.8.0 ==⇒ Cleaning for py36-setuptools-40.8.0 ==⇒ Cleaning for py37-setuptools-40.8.0 ==⇒ Cleaning for py35-setuptools-40.8.0 ==⇒ Cleaning for harfbuzz-2.3.1 ==⇒ Cleaning for graphite2-1.3.13 ==⇒ Cleaning for fribidi-0.19.7 ==⇒ Cleaning for xorg-fonts-truetype-7.7_1 ==⇒ Cleaning for font-bh-ttf-1.0.3_4 ==⇒ Cleaning for mkfontscale-1.2.0 ==⇒ Cleaning for libfontenc-1.1.4 ==⇒ Cleaning for bdftopcf-1.1_2 ==⇒ Cleaning for font-misc-meltho-1.0.3_4 ==⇒ Cleaning for font-misc-ethiopic-1.0.3_4 ==⇒ Cleaning for encodings-1.0.4_4,1 ==⇒ Cleaning for font-util-1.3.1 ==⇒ Cleaning for dejavu-2.37_1 ==⇒ Cleaning for php72-7.2.16 ==⇒ Cleaning for libargon2-20171227_1 ==⇒ Cleaning for php72-ctype-7.2.16 ==⇒ Cleaning for php72-filter-7.2.16 ==⇒ Cleaning for php72-gd-7.2.16 ==⇒ Cleaning for libXpm-3.5.12_2 ==⇒ Cleaning for libXt-1.1.5_2,1 ==⇒ Cleaning for libSM-1.2.3,1 ==⇒ Cleaning for libICE-1.0.9_3,1 ==⇒ Cleaning for jpeg-turbo-2.0.2 ==⇒ Cleaning for nasm-2.14.02,1 ==⇒ Cleaning for libgd-2.2.5_1,1 ==⇒ Cleaning for tiff-4.0.10 ==⇒ Cleaning for jbigkit-2.1_1 ==⇒ Cleaning for webp-1.0.2 ==⇒ Cleaning for giflib-5.1.4 ==⇒ Cleaning for php72-gettext-7.2.16 ==⇒ Cleaning for php72-gmp-7.2.16 ==⇒ Cleaning for gmp-6.1.2_1 ==⇒ Cleaning for php72-hash-7.2.16 ==⇒ Cleaning for php72-json-7.2.16 ==⇒ Cleaning for php72-ldap-7.2.16 ==⇒ Cleaning for openldap-client-2.4.47 ==⇒ Cleaning for php72-mbstring-7.2.16 ==⇒ Cleaning for oniguruma-6.9.0 ==⇒ Cleaning for php72-openssl-7.2.16 ==⇒ Cleaning for php72-pdo-7.2.16 ==⇒ Cleaning for php72-pdo_mysql-7.2.16 ==⇒ Cleaning for php72-posix-7.2.16 ==⇒ Cleaning for php72-session-7.2.16 ==⇒ Cleaning for php72-simplexml-7.2.16 ==⇒ Cleaning for php72-sockets-7.2.16 ==⇒ Cleaning for php72-snmp-7.2.16 ==⇒ Cleaning for net-snmp-5.7.3_19 ==⇒ Cleaning for php72-xml-7.2.16 ==⇒ Cleaning for php72-zlib-7.2.16 ==⇒ Cleaning for cacti-1.2.1
root@klotik:/usr/local/etc/mysql# mysqladmin -uroot -p create cacti Enter password: root@klotik:/usr/local/etc/mysql# mysql --database=cacti -uroot -p < /usr/local/share/cacti/cacti.sql Enter password: root@klotik:/usr/local/etc/mysql# mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root -p mysql Enter password: Warning: Unable to load '/usr/share/zoneinfo/Factory' as time zone. Skipping it. Warning: Unable to load '/usr/share/zoneinfo/zone.tab' as time zone. Skipping it.
В /usr/local/share/cacti/include/config.php добавил строку date_default_timezone_set( 'Europe/Moscow' );
Выполняю инструкцию
# mysqladmin -uroot -p create cacti Enter password:
root@localhost [(none)]> CREATE USER 'cacti'@'localhost' IDENTIFIED BY 'rfRnec_rkjn'; Query OK, 0 rows affected (0.41 sec)
root@localhost [(none)]> FLUSH PRIVILEGES; Query OK, 0 rows affected (0.20 sec)
root@localhost [(none)]> GRANT ALL ON `cacti`.* TO 'cacti'@'localhost'; Query OK, 0 rows affected (0.05 sec)
root@localhost [(none)]> GRANT ALL ON `cacti`.* TO 'cacti'@'localhost'; Query OK, 0 rows affected (0.04 sec)
root@localhost [(none)]> GRANT SELECT ON `mysql`.`time_zone_name` TO 'cacti'@'localhost'; Query OK, 0 rows affected (0.04 sec)
root@localhost [(none)]> FLUSH PRIVILEGES; Query OK, 0 rows affected (0.02 sec)
root@localhost [(none)]> exit Bye root@klotik:~ # mysql –database=cacti -ucacti -p < /usr/local/share/cacti/cacti.sql Enter password: ERROR 1045 (28000): Access denied for user 'cacti'@'localhost' (using password: YES) root@klotik:~ # mysql –database=cacti -ucacti -p < /usr/local/share/cacti/cacti.sql Enter password: root@klotik:~ # mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root -p mysql Enter password: Warning: Unable to load '/usr/share/zoneinfo/Factory' as time zone. Skipping it. Warning: Unable to load '/usr/share/zoneinfo/zone.tab' as time zone. Skipping it.
Из файла /usr/local/share/cacti/include/config.php.sample создаю файл конфигурации в котором указываю пользователя и пароль базы данных cacti.
Installing cacti-0.8.8h… ==⇒ Creating groups. Using existing group 'cacti'. ==⇒ Creating users Using existing user 'cacti'.
Cacti is now installed. If you intall it for the first time, you may have to follow this steps to make it work correctly:
1. Create the MySQL database, a cacti user, and initialize:
a) CREATE DATABASE cacti; b) Create a mysql user/password for cacti: CREATE USER 'cacti'@'localhost' IDENTIFIED BY 'password'; FLUSH PRIVILEGES; c) Add GRANTS: GRANT ALL ON cacti.* TO 'cacti'@'localhost'; FLUSH PRIVILEGES; d) Import the default cacti database: mysql --database=cacti -ucacti -p < /usr/local/share/cacti/cacti.sql
NOTE:
2. Edit /usr/local/share/cacti/include/config.php from the template
config.php.orig.
PHP requires the time zone to be explicitly set rather that rely on the system time zone, otherwise poller complains. I added the following line to my config.php:
date_default_timezone_set('America/Los_Angeles');
3. Add the following line to cron for cacti: */5 * * * * /usr/local/bin/php /usr/local/share/cacti/poller.php > /dev/null 2>&1
4. Example Apache 2.4 configuration:
LoadModule php5_module libexec/apache22/libphp5.so
<FilesMatch "\.php$"> SetHandler application/x-httpd-php </FilesMatch> <FilesMatch "\.phps$"> SetHandler application/x-httpd-php-source </FilesMatch>
DirectoryIndex index.php
DocumentRoot "/usr/local/share/cacti"
Alias /cacti "/usr/local/share/cacti/" Alias /Cacti "/usr/local/share/cacti/"
<Directory "/usr/local/share/cacti"> Require all granted AllowOverride None Order Allow,deny Allow from all </Directory>
5. Open a Cacti login page in your web browser and login with
admin/admin.
If you update cacti, open a login page and an updating process will start automatically.
NOTEs as of 10Aug2014:
1) Cacti now better supports hier(7)
a) Cacti log files are now found under /var/log/cacti where you can manage them using newsyslog. b) Cacti RRD files are now found under /var/db/cacti/rra.
If you have an existing Cacti installation these paths are also found in Cacti's SQL database and MUST be updated. These two SQL commands should do the trick:
UPDATE settings SET value='/var/log/cacti/log' \ WHERE name='path_cactilog';
UPDATE poller_item SET rrd_path=\ REPLACE(rrd_path,'/usr/local/share/cacti/rra','/var/db/cacti/rra') \ WHERE rrd_path REGEXP '^/usr/local/share/cacti/rra';
2) The PERL paths in the Cacti PERL scripts have been updated to
/usr/local/bin.
Other Erratas: Mount linprocfs in /compat/linux/proc will alow most scripts to work.
==⇒ Cleaning for php55-mysqli-5.5.38_1 ==⇒ Cleaning for php55-sockets-5.5.38_1 ==⇒ Cleaning for cacti-0.8.8h
После обновления cacti внёс изменения в базу данных MySQL
mysql -u cacti -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 47041 Server version: 5.6.17-log Source distribution Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> use cacti; Reading table information for completion of table and column names You can turn off this feature to get a quicker startup with -A Database changed mysql> UPDATE settings SET value='/var/log/cacti/log' \ -> WHERE name='path_cactilog'; Query OK, 1 row affected (0,00 sec) Rows matched: 1 Changed: 1 Warnings: 0 mysql> UPDATE poller_item SET rrd_path=\ -> REPLACE(rrd_path,'/usr/local/share/cacti/rra','/var/db/cacti/rra') \ -> WHERE rrd_path REGEXP '^/usr/local/share/cacti/rra'; Query OK, 24 rows affected (0,02 sec) Rows matched: 24 Changed: 24 Warnings: 0 mysql> quit Bye
При попытке запуститтть poller в консоле получил ошибкау
# /usr/local/bin/php /usr/local/share/cacti/poller.php Shared object "libpng15.so.15" not found, required by "rrdtool"
Просматриваю библитеки
# ls -l /usr/local/lib/ | grep 'png*.*so' lrwxr-xr-x 1 root wheel 11 16 сен 23:57 libpng.so -> libpng16.so lrwxr-xr-x 1 root wheel 19 16 сен 23:57 libpng16.so -> libpng16.so.16.23.0 lrwxr-xr-x 1 root wheel 19 16 сен 23:57 libpng16.so.16 -> libpng16.so.16.23.0 -rwxr-xr-x 1 root wheel 195596 16 сен 23:57 libpng16.so.16.23.0
Создаю ссылку на библиотеку с коротой был установлен rrdtool и которой после обновления нет
# ln -s /usr/local/lib/libpng16.so.16.23.0 /usr/local/lib/libpng15.so.15
root@localhost [(none)]> CREATE USER 'cacti'@'localhost' IDENTIFIED BY 'rfRnec_rkjn'; ERROR 1819 (HY000): Your password does not satisfy the current policy requirements root@localhost [(none)]> CREATE USER 'cacti'@'localhost' IDENTIFIED BY 'rfRn3c_rkjn'; Query OK, 0 rows affected (0.05 sec)
root@localhost [(none)]> use mysql Database changed root@localhost [mysql]> SELECT Host,User FROM user; +———–+—————+
Host | User |
+———–+—————+
localhost | cacti |
localhost | mysql.session |
localhost | mysql.sys |
localhost | root |
+———–+—————+ 4 rows in set (0.00 sec)
root@localhost [mysql]> quit Bye root@jail_1:/usr/local/etc/mysql# mysql -u root -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 6 Server version: 5.7.25-log Source distribution
Copyright © 2000, 2019, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
root@localhost [(none)]> CREATE USER 'cacti'@'10.215.130.21' IDENTIFIED BY 'rfRn3c_rkjn'; Query OK, 0 rows affected (0.01 sec)
root@localhost [(none)]> use mysql Database changed root@localhost [mysql]> SELECT Host,User FROM user; +—————+—————+
Host | User |
+—————+—————+
10.215.130.21 | cacti |
localhost | cacti |
localhost | mysql.session |
localhost | mysql.sys |
localhost | root |
+—————+—————+ 5 rows in set (0.00 sec)