Инструменты пользователя

Инструменты сайта


freebsd:cacti

Это старая версия документа!


/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.


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:

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';
> 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:

  • 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

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)

freebsd/cacti.1553029615.txt.gz · Последние изменения: 2019/03/19 21:06 (внешнее изменение)