Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
freebsd:cacti [2019/03/19 17:45] alex |
freebsd:cacti [2021/11/13 16:54] (текущий) alex |
||
---|---|---|---|
Строка 1: | Строка 1: | ||
- | /usr/ports/net-mgmt/cacti | + | Установка |
+ | cd /usr/ports/net-mgmt/cacti | ||
make install clean | make install clean | ||
По завершению установки получаю. | По завершению установки получаю. | ||
+ | | ||
+ | Installing cacti-1.2.7... | ||
+ | ===> 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. | ||
+ | | ||
+ | | ||
+ | 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. | ||
- | Installing cacti-1.2.1... | + | У меня MySQL и Cacti находятся на разных серверах. На сервере с MySQL создаю базу данных cacti. Создаю пользователя cacti и разрешаю ему управлять созданной базой данных. Настраиваю удалённый доступ к MySQL. |
- | ===> 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. | + | |
- | + | ||
- | + | ||
- | 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 | + | mysql -u root -p |
Enter password: | Enter password: | ||
- | root@klotik:/usr/local/etc/mysql# mysql --database=cacti -uroot -p < /usr/local/share/cacti/cacti.sql | + | SHOW databases; |
- | Enter password: | + | +--------------------+ |
- | root@klotik:/usr/local/etc/mysql# mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root -p mysql | + | | Database | |
- | Enter password: | + | +--------------------+ |
- | Warning: Unable to load '/usr/share/zoneinfo/Factory' as time zone. Skipping it. | + | | information_schema | |
- | Warning: Unable to load '/usr/share/zoneinfo/zone.tab' as time zone. Skipping it. | + | | ccnet-db | |
- | + | | mysql | | |
- | В /usr/local/share/cacti/include/config.php добавил строку | + | | performance_schema | |
- | date_default_timezone_set( 'Europe/Moscow' ); | + | | seafile-db | |
+ | | seahub-db | | ||
+ | | sys | | ||
+ | +--------------------+ | ||
+ | 7 rows in set (0.08 sec) | ||
| | ||
- | Выполняю инструкцию | + | create database `cacti` character set = 'utf8'; |
+ | SHOW databases; | ||
+ | +--------------------+ | ||
+ | | Database | | ||
+ | +--------------------+ | ||
+ | | information_schema | | ||
+ | | cacti | | ||
+ | | ccnet-db | | ||
+ | | mysql | | ||
+ | | performance_schema | | ||
+ | | seafile-db | | ||
+ | | seahub-db | | ||
+ | | sys | | ||
+ | +--------------------+ | ||
+ | 8 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'; | ||
+ | CREATE USER 'root'@'10.215.130.21' IDENTIFIED BY 'Ce,,0nf#'; | ||
+ | GRANT ALL PRIVILEGES ON *.* TO 'root'@'10.215.130.21'; | ||
+ | FLUSH PRIVILEGES; | ||
+ | select user,host from mysql.user; | ||
+ | +---------------+---------------+ | ||
+ | | user | host | | ||
+ | +---------------+---------------+ | ||
+ | | cacti | 10.215.130.21 | | ||
+ | | root | 10.215.130.21 | | ||
+ | | root | 10.215.130.22 | | ||
+ | | seafile | 10.215.130.22 | | ||
+ | | cacti | localhost | | ||
+ | | mysql.session | localhost | | ||
+ | | mysql.sys | localhost | | ||
+ | | root | localhost | | ||
+ | +---------------+---------------+ | ||
- | # mysqladmin -uroot -p create cacti | + | На компьютере с cacti в созданную базу данных загружаю таблицы |
- | Enter password: | + | mysql --database=cacti -h 10.215.130.20 -u root -p < /usr/local/share/cacti/cacti.sql |
+ | Enter password: | ||
- | root@localhost [(none)]> CREATE USER 'cacti'@'localhost' IDENTIFIED BY 'rfRnec_rkjn'; | + | Подключаюсь к MySQL и проверяю создание талиц |
- | Query OK, 0 rows affected (0.41 sec) | + | mysql -h 10.215.130.20 -u cacti -p |
+ | 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.00 sec) | ||
- | root@localhost [(none)]> FLUSH PRIVILEGES; | ||
- | Query OK, 0 rows affected (0.20 sec) | ||
- | root@localhost [(none)]> GRANT ALL ON `cacti`.* TO 'cacti'@'localhost'; | + | Из файла ///usr/local/share/cacti/include/config.php.sample// создаю файл конфигурации в котором указываю пользователя и пароль базы данных cacti. |
- | Query OK, 0 rows affected (0.05 sec) | + | |
- | root@localhost [(none)]> GRANT ALL ON `cacti`.* TO 'cacti'@'localhost'; | + | загружаю временные зоны в MySQL |
- | Query OK, 0 rows affected (0.04 sec) | + | mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root -p mysql |
- | root@localhost [(none)]> GRANT SELECT ON `mysql`.`time_zone_name` TO 'cacti'@'localhost'; | + | В папке ///var/log/cacti// создаю файл для логов **log** и задаю права доступа www:www |
- | Query OK, 0 rows affected (0.04 sec) | + | touch /var/log/cacti/log |
+ | Меняю права доступа к папке cacti | ||
+ | chown -R www:www /usr/local/share/cacti/ | ||
- | root@localhost [(none)]> FLUSH PRIVILEGES; | + | Создаю папку и меняю права доступа |
- | Query OK, 0 rows affected (0.02 sec) | + | mkdir -p /usr/local/share/cacti/log/ |
+ | chown -R www:www /usr/local/share/cacti/log/ | ||
- | root@localhost [(none)]> exit | + | В браузере набираю cacti.klotik.ru. На приглашение логина и пароля набираю **admin/admin**. Cacti предложит сменить пароль. |
- | 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. | + | |
+ | Input Validation Whitelist Protection | ||
+ | Cacti Data Input methods that call a script can be exploited in ways that a non-administrator can perform damage | ||
+ | to either files owned by the poller account, and in cases where someone runs the Cacti poller as root, can | ||
+ | compromise the operating system allowing attackers to exploit your infrastructure. | ||
+ | | ||
+ | Therefore, several versions ago, Cacti was enhanced to provide Whitelist capabilities on the these types of Data | ||
+ | Input Methods. Though this does secure Cacti more thouroughly, it does increase the amount of work required by | ||
+ | the Cacti administrator to import and manage Templates and Packages. | ||
+ | | ||
+ | The way that the Whitelisting works is that when you first import a Data Input Method, or you re-import a Data | ||
+ | Input Method, and the script and or aguments change in any way, the Data Input Method, and all the corresponding | ||
+ | Data Sources will be immediatly disabled until the administrator validates that the Data Input Method is valid. | ||
+ | | ||
+ | To make identifying Data Input Methods in this state, we have provided a validation script in Cacti's CLI | ||
+ | directory that can be run with the following options: | ||
+ | | ||
+ | php -q input_whitelist.php --audit - This script option will search for any Data Input Methods that are currently | ||
+ | banned and provide details as to why. | ||
+ | php -q input_whitelist.php --update - This script option un-ban the Data Input Methods that are currently banned. | ||
+ | php -q input_whitelist.php --push - This script option will re-enable any disabled Data Sources. | ||
+ | It is strongly suggested that you update your config.php to enable this feature by uncommenting the | ||
+ | $input_whitelist variable and then running the three CLI script options above after the web based install has completed. | ||
+ | | ||
+ | Check the Checkbox below to acknowledge that you have read and understand this security concern | ||
- | Из файла | ||
- | /usr/local/share/cacti/include/config.php.sample создаю файл конфигурации в котором указываю пользователя и пароль базы данных cacti. | ||
Строка 272: | Строка 340: | ||
- | + | === Обновление старого 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: | + | |
- | * 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: | + | |
- | + | ||
- | 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 | После обновления cacti внёс изменения в базу данных MySQL | ||
Строка 423: | Строка 393: | ||
# ln -s /usr/local/lib/libpng16.so.16.23.0 /usr/local/lib/libpng15.so.15 | # ln -s /usr/local/lib/libpng16.so.16.23.0 /usr/local/lib/libpng15.so.15 | ||
- | + | Ссылки:\\ | |
- | + | 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/\\ | |
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | 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 (c) 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) | + | |