cacti

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になってしまう問題が残ったが・・・

このオプションは、innodb_buffer_pool_size を 1G バイト以上のサイズに設定した場合にのみ有効になります。

引用:MySQL5.6リファレンス  14.13.1.4 複数のバッファープールインスタンスの使用

というのを見つけたので
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を追加し、グラフで確認。

しかし、

ERROR: is not a vname nor a number

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温度の設定が消えた様だ。

ログを見ると、ずーーとエラーが連発していたらしい。

アップデートで治ったかどうか?

暫く様子見するしかなさそう。

でも、とりあえず、アンスコ。




コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA