読者です 読者をやめる 読者になる 読者になる

qphoney記

beta

zabbix_server_mysql [xxxx]: cannot recreate Zabbix semaphores for IPC key xxxxxxx Semaphore ID xxxxxxxxx: [22] Invalid argument

zabbixの調子が悪い

なんだか監視も中途半端。
調子が悪くなったのかなーと思ってzabbix-serverの再起動をしようと思った起動しなかった
ログを見たらこんなのが出てた

zabbix_server_mysql [13137]: cannot create PID file [/var/run/zabbix/zabbix.pid]: [13] Permission denied
zabbix_server_mysql [13137]: ERROR: cannot create PID file [/var/run/zabbix/zabbix.pid]: [13] Permission denied

なぜpidが作れない?

# ls -l /var/run/zabbix/
-rw-rw-r-- 1 101 zabbix 5  9月 16 14:38 zabbix.pid

101って誰?
とりあえず、rootでファイルを削除してディレクトリの権限を変更
もう一回zabbix-serverを起動してみる
やっぱりダメ
ログにはこんなのが出てた

zabbix_server_mysql [13137]: cannot create PID file [/var/run/zabbix/zabbix.pid]: [13] Permission denied
zabbix_server_mysql [13137]: ERROR: cannot create PID file [/var/run/zabbix/zabbix.pid]: [13] Permission denied
zabbix_server_mysql [13300]: cannot create PID file [/var/run/zabbix/zabbix.pid]: [13] Permission denied
zabbix_server_mysql [13300]: ERROR: cannot create PID file [/var/run/zabbix/zabbix.pid]: [13] Permission denied
zabbix_server_mysql [13478]: cannot recreate Zabbix semaphores for IPC key 0x7a00008d Semaphore ID 4294967295: [22] Invalid argument

Semaphoreに何か起きているっぽい
調べてみる

# ipcs -a
------ 共有メモリセグメント --------
キー     shmid      所有者  権限     バイト  nattch     状態
0x6c00008a 491520     101       600        698024     0
0x6800008d 229377     101       600        8421535    0
0x7800008d 262146     101       600        16777627   0
0x7400008d 294915     101       600        4194702    0
0x6700008d 327684     101       600        28521268   0
0x7300008d 360453     101       600        5033164    0
0x5300008d 393222     101       600        7032       0
0x6c00008f 688135     zabbix    600        698024     6

------ セマフォ配列 --------
キー     semid      所有者  権限     nsems
0x00000000 20611072   apache    600        1
0x00000000 20643841   apache    600        1
0x7a00008a 20316162   101      600        9
0x7a00008d 20086787   101      600        9
0x7a00008f 20709380   zabbix    600        9
0x01fe101f 10846216   root      600        1

------ メッセージキュー --------
キー     msqid      所有者  権限     使用バイト数 メッセージ

所有者の部分をみると101になっているが、実際のzabbix-serverのuidは102
なんかおかしいので消してみる
まずはzabbix-agentを止める

# service zabbix-agent stop

もっかい見てみる

# ipcs -a

------ 共有メモリセグメント --------
キー     shmid      所有者  権限     バイト  nattch     状態
0x6c00008a 491520     101       600        698024     0
0x6800008d 229377     101       600        8421535    0
0x7800008d 262146     101       600        16777627   0
0x7400008d 294915     101       600        4194702    0
0x6700008d 327684     101       600        28521268   0
0x7300008d 360453     101       600        5033164    0
0x5300008d 393222     101       600        7032       0

------ セマフォ配列 --------
キー     semid      所有者  権限     nsems
0x00000000 20611072   apache    600        1
0x00000000 20643841   apache    600        1
0x7a00008a 20316162   101      600        9
0x7a00008d 20086787   101      600        9
0x01fe101f 10846216   root      600        1

------ メッセージキュー --------
キー     msqid      所有者  権限     使用バイト数 メッセージ

なんか変わってないので削除してみる

# ipcrm -M 0x6c00008a
# ipcs -a

------ 共有メモリセグメント --------
キー     shmid      所有者  権限     バイト  nattch     状態
0x6800008d 229377     101       600        8421535    0
0x7800008d 262146     101       600        16777627   0
0x7400008d 294915     101       600        4194702    0
0x6700008d 327684     101       600        28521268   0
0x7300008d 360453     101       600        5033164    0
0x5300008d 393222     101       600        7032       0

------ セマフォ配列 --------
キー     semid      所有者  権限     nsems
0x00000000 20611072   apache    600        1
0x00000000 20643841   apache    600        1
0x7a00008a 20316162   101      600        9
0x7a00008d 20086787   101      600        9
0x01fe101f 10846216   root      600        1

------ メッセージキュー --------
キー     msqid      所有者  権限     使用バイト数 メッセージ

お?消えたっぽいのでドンドンいく

# ipcrm -M 0x6800008d
# ipcrm -M 0x7800008d
# ipcrm -M 0x7400008d
# ipcrm -M 0x6700008d
# ipcrm -M 0x7300008d
# ipcrm -M 0x5300008d
# ipcs -a

------ 共有メモリセグメント --------
キー     shmid      所有者  権限     バイト  nattch     状態

------ セマフォ配列 --------
キー     semid      所有者  権限     nsems
0x00000000 20611072   apache    600        1
0x00000000 20643841   apache    600        1
0x7a00008a 20316162   101      600        9
0x7a00008d 20086787   101      600        9
0x01fe101f 10846216   root      600        1

------ メッセージキュー --------
キー     msqid      所有者  権限     使用バイト数 メッセージ

いい感じ
残りの所有者101も消してみる

# ipcrm -S 0x7a00008a
# ipcrm -S 0x7a00008d
# ipcs -a

------ 共有メモリセグメント --------
キー     shmid      所有者  権限     バイト  nattch     状態

------ セマフォ配列 --------
キー     semid      所有者  権限     nsems
0x00000000 20611072   apache    600        1
0x00000000 20643841   apache    600        1
0x01fe101f 10846216   root      600        1

------ メッセージキュー --------
キー     msqid      所有者  権限     使用バイト数 メッセージ

ドヤッ!