ワイズリマインダー

Zabbixサーバが重い時に最初に見直したい設定5選|MariaDB/MySQLチューニング実例付き

Zabbixを運用していると、ある日突然サーバが重くなることがあります。

特に監視対象が増えてくると、

・load average が高い
・mysqld のCPU使用率が高い
・画面表示が遅い
・グラフ表示に時間がかかる

といった症状が出やすくなります。

今回の記事では、実際にZabbixサーバが重くなった際に行ったチューニング内容をベースに、まず見直したいポイントをまとめます。

 

まず確認したいのはDBサーバの負荷

Zabbixが重い原因の多くは、実はZabbix本体ではなくデータベース側です。

特にMySQL/MariaDBの負荷が高いケースは非常に多く、以下のような状態になっていることがあります。

・mysqld がCPUを使い切っている
・ディスクI/O待ちが発生している
・メモリ不足でswapしている
・history/trends テーブルが肥大化している

実際、Zabbix公式やユーザーコミュニティでも、DBチューニングの重要性が頻繁に話題になります。

 

まず試したのは innodb_buffer_pool_size

今回最初に変更したのは、MariaDBの以下設定です。

innodb_buffer_pool_size=4096M

InnoDB バッファプールは、MySQL/MariaDBがデータやインデックスをメモリ上にキャッシュする領域です。

ここが小さいと、頻繁にディスクアクセスが発生し、Zabbixではかなり重くなります。

一般的には、DB専用サーバなら物理メモリの50?80%程度を割り当てるケースが多いです。

 

設定変更手順

実際の作業は以下。

sudo cp /etc/my.cnf /etc/my.cnf.date +%Y%m%d
sudo vi /etc/my.cnf

[mysqld] セクションに追加。

[mysqld]
innodb_buffer_pool_size=4096M

保存後にMariaDBを再起動。

sudo systemctl restart mariadb.service

 

Zabbix側の設定も重要

DBだけでなく、Zabbix Server側の設定見直しも重要です。

例えば以下。

CacheSize
HistoryCacheSize
TrendCacheSize
ValueCacheSize
StartPollers
StartDBSyncers

監視対象数が増えてくると、デフォルト設定では不足しやすくなります。

特に「Zabbix value cache working in low memory mode」が出ている場合は、ValueCacheSize不足の可能性があります。

 

監視数が増えたらProxy導入も検討

大規模環境では、Zabbix Proxyを導入して負荷分散する方法も有効です。

Proxyを使うことで、

・監視通信の分散
・ネットワーク負荷軽減
・中央サーバ負荷軽減

などのメリットがあります。

ただし、Proxy側も適切なチューニングが必要です。

 

最近のZabbixはかなり性能向上している

Zabbix 7系では性能改善もかなり進んでいます。

検証記事では、旧バージョンと比べて大幅に監視性能が向上している結果も出ています。

もし古いバージョンを長期間使っているなら、アップグレード検討もありです。

 

まとめ

Zabbixが重い時は、まず以下を疑うのがおすすめです。

・MariaDB/MySQLのメモリ設定
・ディスクI/O
・Zabbixキャッシュ不足
・Poller不足
・history/trends肥大化

特に innodb_buffer_pool_size の調整は効果が出やすく、最初に試す価値があります。

監視台数が増えてきたら、

「Zabbix本体」だけではなく、
「DB性能」と「キャッシュ設計」

を意識すると、かなり安定しやすくなります。

コメントを残す

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

CAPTCHA


このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

検索

最近のコメント

最近の投稿

タグ

フィード配信

アーカイブ

外部リンク