Это старая версия документа!
/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: * Cacti does not LOCK TABLES. 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. 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: 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
mysqladmin -uroot -p create cacti Enter password: mysql -u root -p Enter password: > show databases; +--------------------+ | Database | +--------------------+ | information_schema | | cacti | | mysql | | performance_schema | | sys | +--------------------+ 5 rows in set (0.00 sec) > CREATE USER 'cacti'@'localhost' IDENTIFIED BY 'rfRn3c_rkjn'; > CREATE USER 'cacti'@'10.215.130.21' IDENTIFIED BY 'rfRn3c_rkjn'; > GRANT ALL ON `cacti`.* TO 'cacti'@'10.215.130.21'; > GRANT SELECT ON `mysql`.`time_zone_name` TO 'cacti'@'10.215.130.21'; > FLUSH PRIVILEGES; > use 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) > quit;
Добавляю в созданную базу данных таблицы
root@jail_2:~ # mysql --database=cacti -h 10.215.130.20 -u cacti -p < /usr/local/share/cacti/cacti.sql
mysql -h 10.215.130.20 -u cacti -prfRn3c_rkjn > use cacti > show tables; +-------------------------------------+ | Tables_in_cacti | +-------------------------------------+ | aggregate_graph_templates | | aggregate_graph_templates_graph | | aggregate_graph_templates_item | | aggregate_graphs | | aggregate_graphs_graph_item | | aggregate_graphs_items | | automation_devices | | automation_graph_rule_items | | automation_graph_rules | | automation_ips | | automation_match_rule_items | | automation_networks | | automation_processes | | automation_snmp | | automation_snmp_items | | automation_templates | | automation_tree_rule_items | | automation_tree_rules | | cdef | | cdef_items | | color_template_items | | color_templates | | colors | | data_debug | | data_input | | data_input_data | | data_input_fields | | data_local | | data_source_profiles | | data_source_profiles_cf | | data_source_profiles_rra | | data_source_purge_action | | data_source_purge_temp | | data_source_stats_daily | | data_source_stats_hourly | | data_source_stats_hourly_cache | | data_source_stats_hourly_last | | data_source_stats_monthly | | data_source_stats_weekly | | data_source_stats_yearly | | data_template | | data_template_data | | data_template_rrd | | external_links | | graph_local | | graph_template_input | | graph_template_input_defs | | graph_templates | | graph_templates_gprint | | graph_templates_graph | | graph_templates_item | | graph_tree | | graph_tree_items | | host | | host_graph | | host_snmp_cache | | host_snmp_query | | host_template | | host_template_graph | | host_template_snmp_query | | plugin_config | | plugin_db_changes | | plugin_hooks | | plugin_realms | | poller | | poller_command | | poller_data_template_field_mappings | | poller_item | | poller_output | | poller_output_boost | | poller_output_boost_processes | | poller_output_realtime | | poller_reindex | | poller_resource_cache | | poller_time | | reports | | reports_items | | sessions | | settings | | settings_tree | | settings_user | | settings_user_group | | sites | | snmp_query | | snmp_query_graph | | snmp_query_graph_rrd | | snmp_query_graph_rrd_sv | | snmp_query_graph_sv | | snmpagent_cache | | snmpagent_cache_notifications | | snmpagent_cache_textual_conventions | | snmpagent_managers | | snmpagent_managers_notifications | | snmpagent_mibs | | snmpagent_notifications_log | | user_auth | | user_auth_cache | | user_auth_group | | user_auth_group_members | | user_auth_group_perms | | user_auth_group_realm | | user_auth_perms | | user_auth_realm | | user_domains | | user_domains_ldap | | user_log | | vdef | | vdef_items | | version | +-------------------------------------+ 109 rows in set (0.03 sec)
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)
http://dnaeon.github.io/cacti-freebsd/
https://ctopmbi4.wordpress.com/2014/08/29/%D1%83%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0-cacti-%D0%BD%D0%B0-freebsd/