MRTGより簡単らしいので。
参考:【CentOS7】cactiのインストール手順
CentOS7 Cactiのインストールと基本設定
dnfで epel-release とcactiをインスト
バージョンは1.2.8だった。
MySQLではなくMariaDBを使うので、
設定は/etc/my.cnf.d/mariadb-server.cnfに書くらしい。
このMariaDBのcollation_serve設定がキニイラナイらしい。
# mysql -u root -p
MariaDB [(none)]> show variables like 'coll%';
+----------------------+--------------------+
| Variable_name | Value |
+----------------------+--------------------+
| collation_connection | utf8mb4_general_ci |
| collation_database | utf8mb4_general_ci |
| collation_server | utf8mb4_general_ci |
+----------------------+--------------------+
なので、collation-serverの設定を追加
[mariadb]
character-set-server=utf8mb4
collation-server = utf8mb4_unicode_ci
systemctl restart mariadb
MariaDB [(none)]> show variables like 'coll%';
+----------------------+--------------------+
| Variable_name | Value |
+----------------------+--------------------+
| collation_connection | utf8mb4_general_ci |
| collation_database | utf8mb4_unicode_ci |
| collation_server | utf8mb4_unicode_ci |
+----------------------+--------------------+
以下、同様に追記
max_heap_table_size=60M
tmp_table_size=60M
join_buffer_size=119M
innodb_file_format=Barracuda
innodb_large_prefix=1
innodb_buffer_pool_size=924M
innodb_flush_log_at_timeout=4
innodb_read_io_threads=33
innodb_write_io_threads=17
innodb_buffer_pool_instances=16
innodb_io_capacity=5001
innodb_io_capacity_max=10001
cactiuserはcactiデータベースの他にmysqlデータベースへのselect権限も追加。
phpは
max_execution_time = 60
memory_limit = 400M
date.timezone Asia/Tokyo
それでも、
PHP – Recommendations (web)で
date.timezone>= エラーA valid timezone that matches MySQL and the system
どうやらApacheがphp-frmを使っているので
# systemctl restart php-fpm
しないとphp.iniの設定が反映されないらしい。
最後に
innodb_buffer_pool_instances=16 が1になってしまう問題が残ったが・・・
このオプションは、
引用:MySQL5.6リファレンス 14.13.1.4 複数のバッファープールインスタンスの使用innodb_buffer_pool_size
を 1G バイト以上のサイズに設定した場合にのみ有効になります。
というのを見つけたのでinnodb_buffer_pool_si
=1024M
で解決。
LocalHostは設定済みっぽいがKVMホストの情報も見たい。
New Deviceで作成。
説明にホスト名 。(笑)
ホスト名 にIPアドレス。(大笑)
Device Template でLocal Linux Machineを選択して【保存】
新規グラフで作成。
デバイスで、先のホスト名を選択し、テンプレはLinuxを選択して【保存】
ここまではいいがレスポンスが無い様だ。snmpのコマンドで調べてみる。
# snmpwalk -v 1 192.168.XXX.XXX -c public
Timeout: No Response from 192.168.XX.XXX
何か忘れてる。否、何も設定してないじゃんか。
# yum install lm_sensors
# sensors-detec ←とりあえず全部Yesする。
# yum -y install net-snmp net-snmp-utils
# systemctl start snmpd
# systemctl enable snmpd
# firewall-cmd --add-port=161/udp --permanent
# firewall-cmd --reload
今度はsnmpwalk -v 1 192.168.XXX.XXX -c publicで色々読める。
やはり通信負荷とかCPU温度も知りたいけどテンプレには無い様だ。
ps.
# sensors
acpitz-virtual-0
Adapter: Virtual device
temp1: +26.8°C (crit = +90.0°C)
coretemp-isa-0000
Adapter: ISA adapter
Core 0: +40.0°C (high = +105.0°C, crit = +105.0°C)
Core 1: +40.0°C (high = +105.0°C, crit = +105.0°C)
Core 2: +43.0°C (high = +105.0°C, crit = +105.0°C)
Core 3: +43.0°C (high = +105.0°C, crit = +105.0°C)
nct6776-isa-0290
Adapter: ISA adapter
Vcore: +0.70 V (min = +0.00 V, max = +1.74 V)
in1: +1.85 V (min = +0.00 V, max = +0.00 V) ALARM
AVCC: +3.36 V (min = +2.98 V, max = +3.63 V)
+3.3V: +3.36 V (min = +2.98 V, max = +3.63 V)
in4: +0.95 V (min = +0.00 V, max = +0.00 V) ALARM
in5: +1.72 V (min = +0.00 V, max = +0.00 V) ALARM
in6: +0.89 V (min = +0.00 V, max = +0.00 V) ALARM
3VSB: +3.28 V (min = +2.98 V, max = +3.63 V)
Vbat: +3.15 V (min = +2.70 V, max = +3.63 V)
fan1: 931 RPM (min = 0 RPM)
fan2: 0 RPM (min = 0 RPM)
fan3: 0 RPM (min = 0 RPM)
SYSTIN: +43.0°C (high = +0.0°C, hyst = +0.0°C) ALARM sensor = thermistor
CPUTIN: +40.0°C (high = +80.0°C, hyst = +75.0°C) sensor = thermistor
AUXTIN: +33.5°C (high = +80.0°C, hyst = +75.0°C) sensor = thermistor
PCH_CHIP_TEMP: +0.0°C
PCH_CPU_TEMP: +0.0°C
PCH_MCH_TEMP: +0.0°C
cpu0_vid: +0.000 V
intrusion0: ALARM
intrusion1: ALARM
で、温度は判る。
OIDの表から
# snmptranslate -Tp
+--iso(1)
|
+--org(3)
|
+--dod(6)
|
+--internet(1)
+--private(4)
| +--enterprises(1)
| +--ucdavis(2021)
| | +--prTable(2)
| | +--ucdExperimental(13)
| | | +--lmSensors(16)
ここから、CPU温度を得るにはOID 1.3.6.1.4.1.2021.13.16.2.1.3
private側なのでターゲット側のsnmp.confの設定を変更して調べてみる。
snmpwalk -v 2c -c public 192.168.***.*** .1.3.6.1.4.1.2021.13.16.2.1.3
LM-SENSORS-MIB::lmTempSensorsValue.1 = Gauge32: 26800
LM-SENSORS-MIB::lmTempSensorsValue.2 = Gauge32: 40000
LM-SENSORS-MIB::lmTempSensorsValue.3 = Gauge32: 40000
LM-SENSORS-MIB::lmTempSensorsValue.4 = Gauge32: 43000
LM-SENSORS-MIB::lmTempSensorsValue.5 = Gauge32: 43000
LM-SENSORS-MIB::lmTempSensorsValue.18 = Gauge32: 43000
LM-SENSORS-MIB::lmTempSensorsValue.19 = Gauge32: 40000
LM-SENSORS-MIB::lmTempSensorsValue.20 = Gauge32: 33500
LM-SENSORS-MIB::lmTempSensorsValue.21 = Gauge32: 0
LM-SENSORS-MIB::lmTempSensorsValue.22 = Gauge32: 0
LM-SENSORS-MIB::lmTempSensorsValue.23 = Gauge32: 0
cactiのテンプレートで
SNMP OID .1.3.6.1.4.1.2021.13.16.2.1.3 を取得するデータソースを作成する。
グラフ(CPU Temperature)を作り、デバイス(Local Linux Machine)にグラフを追加する。
しかし、テンプレに追加しただけではグラフはできないので
マネージメントのデバイスの *Create Graphs for this Device で
CPU Tempertureを追加し、グラフで確認。
しかし、
ps.2023/09/09
AlmaLinuxになっているので現状を確認。
cactiのchronは5分置きに発生中。
Apacheの設定ファイルのセグメントが古かったので修正。
phpの設定が古かったみたいなので修正。
memory_limit = 512M ; 修正 400M
max_execution_style = 60 ; 追記
https://*****/cacti から再度オンラインでセットアップ。
MariaDBのinnodb_doublewriteがONなのでOFFに変える様に指示が出たので追記した。
innodb_doublewrite=0
# systemctl restart mariadb
https://*****/cacti から再度オンラインでセットアップ。
今回は赤表示が無く、そのまま進め、アップグレードも進める。
グラフが表示されるようになった。
テンプレもアップデートしてしまったので
CPU温度の設定が消えた様だ。
ログを見ると、ずーーとエラーが連発していたらしい。
アップデートで治ったかどうか?
暫く様子見するしかなさそう。
でも、とりあえず、アンスコ。