Cacti : インストール2020/03/20 |
Cacti をインストールして、システムの状態を監視します。
|
|
[1] | |
[2] | |
[3] | |
[4] | Cacti および SNMP をインストールします。 |
# EPELからインストール [root@dlp ~]# dnf --enablerepo=epel -y install cacti net-snmp net-snmp-utils php-mysqlnd php-snmp php-bcmath rrdtool
|
[5] | SNMP (Simple Network Management Protocol) を設定します。 |
[root@dlp ~]#
vi /etc/snmp/snmpd.conf # 41行目:コメントにする #com2sec notConfigUser default public # 74,75行目:コメント解除して変更 # mynetwork は自ネットワークに変更 # コミュニティ名は public, private 以外に変更 ## sec.name source community com2sec local localhost Serverworld com2sec mynetwork 10.0.0.0/24 Serverworld # 78,79行目:コメント解除して変更 ## group.name sec.model sec.name group MyRWGroup v2c local group MyROGroup v2c mynetwork # 85行目:コメント解除 ## incl/excl subtree mask view all included .1 80 # 93,94行目:コメント解除して変更 ## context sec.model sec.level prefix read write notif access MyROGroup "" v2c noauth exact all none none access MyRWGroup "" v2c noauth exact all all all
[root@dlp ~]#
systemctl enable --now snmpd
# 動作確認 # [Serverworld] の箇所は設定したコミュニティ名を指定 [root@dlp ~]# snmpwalk -v2c -c Serverworld localhost system SNMPv2-MIB::sysDescr.0 = STRING: Linux dlp.srv.world 4.18.0-147.5.1.el8_1.x86_64 #1 SMP Wed Feb 5 02:00:39 UTC 2020 x86_64 SNMPv2-MIB::sysObjectID.0 = OID: NET-SNMP-MIB::netSnmpAgentOIDs.10 DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (583) 0:00:05.83 SNMPv2-MIB::sysContact.0 = STRING: Root <root@localhost> (configure /etc/snmp/snmp.local.conf) SNMPv2-MIB::sysName.0 = STRING: dlp.srv.world ..... ..... |
[6] | MariaDB の一部設定を Cacti 推奨の値に変更します。 |
[root@dlp ~]#
vi /etc/my.cnf.d/mariadb-server.cnf # [mysqld] セクションに追記
[mysqld]
.....
.....
default-time-zone='Asia/Tokyo'
character-set-server=utf8mb4
character_set_client=utf8mb4
collation-server=utf8mb4_unicode_ci
max_heap_table_size=128M
tmp_table_size=128M
join_buffer_size=256M
innodb_file_format=Barracuda
innodb_large_prefix=1
innodb_buffer_pool_size=2048M
innodb_flush_log_at_timeout=3
innodb_read_io_threads=32
innodb_write_io_threads=16
innodb_buffer_pool_instances=17
innodb_io_capacity=5000
innodb_io_capacity_max=10000
# タイムゾーン設定反映 [root@dlp ~]# mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root -p mysql Enter password: Warning: Unable to load '/usr/share/zoneinfo/leapseconds' as time zone. Skipping it. Warning: Unable to load '/usr/share/zoneinfo/tzdata.zi' as time zone. Skipping it. [root@dlp ~]# systemctl restart mariadb
|
[7] | Cacti 用のユーザーとデータベースを MariaDB に登録して、テーブルをインポートしておきます。 |
[root@dlp ~]# mysql -u root -p Enter password: Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 16 Server version: 10.3.17-MariaDB MariaDB Server Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. # [Cacti] データベース作成 ([password] の箇所は設定したいパスワードに置き換え) MariaDB [(none)]> create database cacti; Query OK, 1 row affected (0.00 sec) MariaDB [(none)]> grant all privileges on cacti.* to cacti@'localhost' identified by 'password'; Query OK, 0 rows affected (0.00 sec) # Cacti 動作要件として [mysql] DB の [time_zone_name] に [select] 権限付与 MariaDB [(none)]> grant select on mysql.time_zone_name to cacti@'localhost'; MariaDB [(none)]> flush privileges; Query OK, 0 rows affected (0.00 sec) MariaDB [(none)]> exit Bye[root@dlp ~]# mysql -u cacti -p cacti < /usr/share/doc/cacti/cacti.sql Enter password: # cacti ユーザーのパスワード
|
[8] | SELinux を有効にしている場合は、ポリシーの変更が必要です。 |
[root@dlp ~]# setsebool -P httpd_can_network_connect on [root@dlp ~]# setsebool -P httpd_unified on [root@dlp ~]# setsebool -P domain_can_mmap_files on
[root@dlp ~]#
vi cacti-phpfpm.te # 以下の内容で新規作成 module cacti-phpfpm 1.0; require { type admin_home_t; type httpd_t; type httpd_log_t; class file { getattr map open read unlink write }; class dir { remove_name }; } #============= httpd_t ============== allow httpd_t admin_home_t:file map; allow httpd_t admin_home_t:file { getattr open read }; allow httpd_t httpd_log_t:dir remove_name; allow httpd_t httpd_log_t:file { unlink write }; checkmodule -m -M -o cacti-phpfpm.mod cacti-phpfpm.te checkmodule: loading policy configuration from cacti-phpfpm.te checkmodule: policy configuration loaded checkmodule: writing binary representation (version 19) to cacti-phpfpm.mod [root@dlp ~]# semodule_package --outfile cacti-phpfpm.pp --module cacti-phpfpm.mod [root@dlp ~]# semodule -i cacti-phpfpm.pp |
[9] | Cacti および その他の設定です。 |
[root@dlp ~]#
vi /etc/cron.d/cacti # コメント解除 */5 * * * * apache /usr/bin/php /usr/share/cacti/poller.php > /dev/null 2>&1
[root@dlp ~]#
vi /usr/share/cacti/include/config.php # 29行目:データベース接続情報を変更 $database_type = "mysql"; $database_default = "cacti"; $database_hostname = "localhost"; $database_username = " cacti ";$database_password = " password ";$database_port = "3306"; $database_ssl = false;
[root@dlp ~]#
vi /etc/php.ini # 383行目:Cacti 推奨値に変更 max_execution_time = 60
# 404行目:Cacti 推奨値に変更 memory_limit = 512M
# 902行目:コメント解除してデフォルトタイムゾーン設定 date.timezone = Asia/Tokyo
[root@dlp ~]#
vi /etc/httpd/conf.d/cacti.conf # 17行目:必要に応じてアクセス許可範囲を追記 Require host localhost
Require ip 10.0.0.0/24
systemctl restart httpd php-fpm |
Sponsored Link |