服务器监控最佳实践:Telegraf + InfluxDB + Grafana 部署指南

服务器监控最佳实践:Telegraf + InfluxDB + Grafana 部署指南

概述

監視かんしシステムは昨今のさくごはんIT基盤きばんにおいて不可欠ふかけつです。本稿こうでは、ージェントえージェント → Telegraf → InfluxDB → Grafanaという監視かんしスタックすたっく構築こうちく方法ほうほう紹介しょうかいします。

監視かんしシステムの構成こうせいつぎとおりです:

1
2
3
4
┌─────────────┐    ┌──────────┐    ┌──────────┐    ┌──────────┐
│ サーバ │───▶│ Telegraf │───▶│ InfluxDB │───▶│ Grafana │
│ (エージェント)│ │ (収集) │ │ (蓄積) │ │ (可視化) │
└─────────────┘ └──────────┘ └──────────┘ └──────────┘

1. Telegraf のインストール

Telegraf は InfluxData 社が開発したオープンソースのエージェントえージェント監視かんしツールつーるです。多種多様たしゅたよう入力にゅうりょくプラグインぷらugin 지원しじし、簡単かんたんにメトリクスを収集しゅうしゅうできます。

インストール

1
2
3
4
5
6
7
8
# InfluxData リポジトリの追加
wget -qO- https://repos.influxdata.com/influxdb.key | sudo apt-key add -
source /etc/os-release
echo "deb https://repos.influxdata.com/${ID}_${VERSION_ID} stable main" | sudo tee /etc/apt/sources.list.d/influxdb.list

# Telegraf のインストール
sudo apt update
sudo apt install telegraf

設定

1
sudo vim /etc/telegraf/telegraf.conf

基本きほん設定せってい

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
[agent]
interval = "10s"
round_interval = true
metric_batch_size = 1000
metric_buffer_limit = 10000
collection_jitter = "0s"
flush_interval = "10s"
flush_jitter = "0s"

# CPU メトリクス
[[inputs.cpu]]
percpu = true
totalcpu = true
collect_cpu_time = false

# メモリ
[[inputs.mem]]

# ディスク
[[inputs.disk]]
ignore_fs = ["tmpfs", "devtmpfs", "devfs"]

# ディスク I/O
[[inputs.diskio]]

# ネットワーク
[[inputs.net]]

# InfluxDB への出力
[[outputs.influxdb]]
urls = ["http://localhost:8086"]
database = "telegraf"
username = "telegraf"
password = "your_password"

2. InfluxDB のインストール

InfluxDB は時系列じ系列データベースであり、監視かんしデータでーた蓄積ちくせき最適さいてきです。

インストール

1
2
3
sudo apt install influxdb
sudo systemctl enable influxdb
sudo systemctl start influxdb

データベースとユーザーの作成

1
influx
1
2
3
4
5
6
7
8
9
10
11
12
13
-- データベースの作成
CREATE DATABASE telegraf;

-- ユーザーの作成
CREATE USER telegraf WITH PASSWORD 'your_password' WITH ALL PRIVILEGES;

-- 権限の付与
GRANT ALL ON telegraf TO telegraf;

-- 確認
SHOW DATABASES;
USE telegraf;
SHOW MEASUREMENTS;

3. Grafana のインストール

Grafana は最強さいきょう可視化かしかツールつーるです。うつくしいダッシュボードを簡単かんたん作成さくせいできます。

インストール

1
2
3
sudo apt install grafana
sudo systemctl enable grafana-server
sudo systemctl start grafana-server

アクセス

InfluxDB への接続

  1. ConfigurationData Sources に移動
  2. Add data source をクリック
  3. InfluxDB を選択
  4. 以下の設定せってい入力にゅうりょく
1
2
3
4
URL: http://localhost:8086
Database: telegraf
User: telegraf
Password: your_password

4. ダッシュボードの作成

Grafana でうつくしいダッシュボードを作成さくせいしましょう。

CPU 使用率のダッシュボード

  1. CreateDashboard をクリック
  2. Add new panel を選択
  3. 以下いかのクエリを入力にゅうりょく
1
SELECT mean("usage_idle") FROM "cpu" WHERE $timeFilter GROUP BY time($__interval), "host"
  1. VisualizationGraph を選択
  2. タイトルたいとるを「CPU 使用率」に設定せってい
  3. Save をクリック

メモリ使用率のダッシュボード

1
SELECT mean("used") FROM "mem" WHERE $timeFilter GROUP BY time($__interval), "host"

ネットワーク流量のダッシュボード

1
SELECT mean("bytes_sent") FROM "net" WHERE $timeFilter GROUP BY time($__interval), "host"

5. 監視アラートの設定

Grafana では簡単かんたんにアラートを設定せっていできます。

  1. パネルの Alert タブをクリック
  2. Create Alert をクリック
  3. 条件じょうけん設定せってい
1
2
3
FOR: 5m
EVERY: 1m
CONDITION: avg() OF query(A) IS ABOVE 80
  1. 通知つうちチャンネルちゃんねる設定せってい(Email, Slack, Discord など)

6. まとめ

ージェントえージェント → Telegraf → InfluxDB → Grafana スタックの利点りてん

要素ようそ 役割やくわり 特徴とくてん
ージェントえージェント 監視かんし対象たいしょう CPU、メモリ、ディスク、ネットワークねっとわーくなど
Telegraf データでーた収集しゅうしゅう 多種多様たしゅたようプラグインぷらugin
InfluxDB データでーた蓄積ちくせき 時系列じ系列データベース、高速こうそくかきこみ
Grafana 可視化かしかアラートあラーと うつくしいダッシュボード、簡単かんたんなアラート設定せってい

このスタックを導入どうにゅうすることで、服务器的状態じょうたいをリアルタイムに監視かんしし、問題もんだい早期そうき発見はっけんできます。


参考文献

打赏
  • 版权声明: 本博客所有文章除特别声明外,著作权归作者所有。转载请注明出处!
  • Copyrights © 2015-2026 Andrew Saintway
  • 访问人数: | 浏览次数:

请我喝杯咖啡吧~

支付宝
微信