仮想環境eve-ng上でのPrometheus、GrafanaのDeploy
久しぶりに実験をしているのでまとめていきます。
はじめに
対象は、eve-ng上でのPrometheus、GrafanaのDeploy検証です。
2024年9月27日一次公開、2024年10月4日、Grafanaの「(1)Grafanaのダウンロードとインストール(docker run -p)」による実装まで執筆完了!
概念的にDockerを書いている書籍が多かったのですが実際に、操作まで書かれているものが見つけずらくnoteに記載しました。
ダッシュボードで各ツールの情報が管理しやすいのはもちろん、以下のようなメリットが期待できます。
・管理の手間が省ける
・複雑なデータ管理と分析が簡単に可視化できる
さまざまなデータ管理に追われ、複数のタブを開いたり、手作業でまとめていたりする方は一気に効率化が進むでしょう。
管理の手間が省ける
Grafanaを利用すると、複数のデータを1つのダッシュボードで可視化でき、一元管理が可能になります。
クラウドコンピューティングやマイクロサービスの利用に伴い、管理にリソースを多く割いているケースがあります。Grafanaを使うと一目で確認ができるため時間が取られにくく、理解や分析も早まります。
なお、執筆中の箇所もあり、Docker、Prometheus、Grafana以外の記載個所につきましては別のNoteにまとめ直す可能性が有ります。
Grafanaとはなにか?
なぜ Grafana なのか?
(1)データを統合できる
データベースではなくデータを統合する Grafana では、バックエンド ストアやベンダー データベースにデータを取り込む必要がありません。代わりに、Grafana は、既存のデータがどこにあってもそれを統合することで「単一の画面」を提供するという独自のアプローチを採用しています。 Grafana を使用すると、Kubernetes クラスター、Raspberry Pi、さまざまなクラウド サービス、さらには Google スプレッドシートなど、既存のデータをすべて取得し、単一のダッシュボードから好きなように視覚化できます。
(2)誰でも使えるダッシュボード
Grafana ダッシュボードは、多数のソースから収集されたデータに洞察力のある意味を与えるだけでなく、作成したダッシュボードを他のチーム メンバーと共有して、一緒にデータを探索することもできます。
Grafana を使用すると、誰でも動的なダッシュボードを作成して共有し、コラボレーションと透明性を促進できます。
(3)誰でも見ることができるデータ
Grafana は、1 人の運用担当者だけでなく、組織内のすべての人がデータにアクセスできる必要があるという原則に基づいて構築されました。
Grafana は、データを民主化することで、データを必要とする人々が簡単にデータを使用し、アクセスできる文化を促進し、データ サイロを解体してチームに力を与えるのに役立ちます。もちろん、経理部の Eric にすべてを見せたくない場合もあります。Grafana Cloud および Enterprise エディションでは、広範なセキュリティ オプションが提供されています。
(4)柔軟性と汎用性
あらゆるデータを柔軟で多用途なダッシュボードに変換します。他のツールとは異なり、Grafana を使用すると、自分やチーム専用のダッシュボードを構築できます。
高度なクエリ機能と変換機能を使用すると、パネルをカスタマイズして、実際に役立つ視覚化を作成できます。
そのままで素晴らしいと思いますが、もう少し柔軟になれない人がいるでしょうか?
1.Prometheus+Grafanaを入れるためのサーバ構築
(1)eve-ng起動画面
(2)RockyLinuxイメージは「Rocky-9.4-x86_64-minimal.iso」を利用
CPU、メモリーは変更 2コア→4コア、メモリは4096→8192へ増量
コンソールは仮想ネットワーク vnc(デフォルト)を使用
(3)RockyLinux~実環境間の接続
コミュニティ版のeveですので事前にネットワークと接続しておきます。
(4)Netの設定
ネットワークの設定は以下になります。自宅環境からインターネットに出る必要が有りますのでManagement(Cloud0)を利用します。
(5)自宅仮想ラボ内にRockyLinuxをDeployしたときの状況
クラウドラボなどと同じなのであまりカッコいいものではないですがまぁ、Eve-ngでよくある風景です。
RockeyLinuxの起動
Startボタンで装置が起動します。
起動状況やコンソールを確認するときは対象のLinuxなどの機器をダブルクリックすることで以下の画面が出てきて確認可能です。「ultravnc_wrapper.bat」を開くを選択する。
2.RockyLinuxのインストール
(1)RockyLinuxインストール中の画面1
早く終わらせたい人は、「Enter」を押下
(2)インストール時の言語選択
(3)インストールの概要
赤文字の入力が最低必要、IPアドレスが決まっている場合「ネットワークとホスト名」も入力がお薦め
(4)rootパスワードの設定
(5)インストール先ディスクの設定
(6)対象サーバのIPアドレス設定
インストール後にnmtuiコマンドでも設定できますが、GUIで設定したほうが簡単ですのでこちらで設定します。
色々試してみたのですが、Eve-ngデフォルトのGUIVNCの場合、「コロンが打てない問題」というのが有ります。
コロンが打てないわけではないのですが、loadkeys usにする必要があるのでいろいろ余計なことを考えない様にします。
viなどのエディタで終了させるときに「:」を使うのですがその為にキーボードを変えるのが大変という理由です。
(7)IPv4アドレスを固定するときは以下のIPv4内を変更
インストール完了の画面
3.Dockerのインストール
Teratermから環境インストール
(1)起動後TeratermからIPアドレス確認
# ip -4 a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
2: ens3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
altname enp0s3
inet 192.168.73.153/24 brd 192.168.73.255 scope global dynamic noprefixroute ens3
valid_lft 1632sec preferred_lft 1632sec
(2)必要なパッケージのインストール
例えば、yum-utils をインストールすることで以下のようなツールが使えるようになります:
yum-config-manager: リポジトリの有効化/無効化や新しいリポジトリの追加。
package-cleanup: 古いカーネルや不要な依存パッケージのクリーンアップ。
repoquery: パッケージの依存関係を確認。
yum-utils はリポジトリの管理やシステムのメンテナンスを効率化するツール群です。
# dnf install -y yum-utils
ocky Linux 9 - BaseOS 1.4 MB/s | 2.3 MB 00:01
Rocky Linux 9 - AppStream 3.0 MB/s | 8.0 MB 00:02
Rocky Linux 9 - Extras 12 kB/s | 15 kB 00:01
Dependencies resolved.
など
(3)リポジトリの設定
Rocky Linux 9用のDockerパッケージのリポジトリを登録
# dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
(4)インストールするパッケージとバージョンの確認
# dnf list docker-ce.x86_64 --showduplicates
Docker CE Stable - x86_64 136 kB/s | 58 kB 00:00
Available Packages
docker-ce.x86_64 3:20.10.15-3.el9 docker-ce-stable
docker-ce.x86_64 3:20.10.16-3.el9 docker-ce-stable
など
(5)Dockerパッケージのインストール
#sudo dnf install docker-ce docker-ce-cli containerd.io docker-compose-plugin
(6)Dockerのバージョンの確認方法
# docker compose version
Docker Compose version v2.29.7
(7)Dockerの起動
# systemctl enable --now docker
Created symlink /etc/systemd/system/multi-user.target.wants/docker.service → /usr/lib/systemd/system/docker.service.
# systemctl is-active docker
active
#
(8)Dockerアカウントの作成1
DockerHUBのURL
https://hub.docker.com
下記URL sign upからアカウント作成が可能
(9)Dcoker HUBへの接続
「Login Succeeded 」が表示されたらDockerHUBにログインできています。
# docker login -u XXXXXX
Password:
WARNING! Your password will be stored unencrypted in /root/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credential-stores
Login Succeeded パスワード入力
[root@localhost ~]#
(10)Extended docker run でymlファイルをインストールした先を確認する方法 docker exec -it <コンテナ名等> /bin/bash
コンテナ内に入る
まず、目的のコンテナが起動していることを確認し、そのコンテナ内にアクセスします。コンテナ内でシェルを起動し、ファイルの場所を探すことができます。
docker exec -it <コンテナ名またはコンテナID> /bin/bash
例)
[root@localhost ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
0f3d89589b40 prom/pushgateway "/bin/pushgateway" 47 hours ago Up 47 hours 0.0.0.0:9091->9091/tcp, :::9091->9091/tcp festive_kare
84eee8f8c3e0 grafana/grafana "/run.sh" 5 days ago Up 47 hours 0.0.0.0:3000->3000/tcp, :::3000->3000/tcp
[root@localhost ~]# docker exec -it 84eee8f8c3e0 /bin/bash
84eee8f8c3e0:/usr/share/grafana$
exit ★コンテナ内からexit
[root@localhost ~]# docker exec -it grafana /bin/bash
84eee8f8c3e0:/usr/share/grafana$
4.Prometheus導入
(1)Prometheusのダウンロードとインストール(docker run -p)
「https://prometheus.io/docs/prometheus/latest/installation/」よりPrometheusのダウンロード実施
簡易的にインストールする場合以下の内容でも問題ありません バックグランドで動かす方法
# docker run -d -p 9090:9090 prom/prometheus
Unable to find image 'prom/prometheus:latest' locally
latest: Pulling from prom/prometheus
9fa9226be034: Pull complete
続く
docker run -d -p 9090:9090 prom/prometheus コマンドでPrometheusを実行した場合、
デフォルトではPrometheusの設定ファイル(prometheus.yml)はコンテナ内の
/etc/prometheus/prometheus.yml に配置されます。
# ファイアウォールの設定を確認
sudo firewall-cmd --list-all
# ポート 9090 を開放
sudo firewall-cmd --zone=public --add-port=9090/tcp --permanent
# 設定を再読み込み
sudo firewall-cmd --reload
(2)Dockerで稼働中のプロセスを確認する方法
# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
c6d2a4003211 prom/prometheus "/bin/prometheus --c…" 10 minutes ago Exited (2) 10 minutes ago peaceful_pasteur
(3)コンテナを停止するコマンド
# docker rm -f peaceful_pasteur
(4)その他Dockerプロセスの再起動方法
docker stop prometheus
docker rm prometheus
(5)node_expoterのインストール
# docker run -d \
--net="host" \
--pid="host" \
-v "/:/host:ro,rslave" \
-v "/etc/node-exporter:/etc/node-exporter" \
quay.io/prometheus/node-exporter:latest \
--path.rootfs=/host
Unable to find image 'quay.io/prometheus/node-exporter:latest' locally
latest: Pulling from prometheus/node-exporter
9fa9226be034: Already exists
1617e25568b2: Already exists
a7193bcb1fb2: Pull complete
Digest: sha256:4032c6d5bfd752342c3e631c2f1de93ba6b86c41db6b167b9a35372c139e7706
Status: Downloaded newer image for quay.io/prometheus/node-exporter:latest
050cdf4c36c72f03e447bf138ce3f3564f3329ac7c6dede0144dd2fcc0f88907
node_exporterが稼働していることの確認
# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
95a1ccb8d9ac quay.io/prometheus/node-exporter:latest "/bin/node_exporter …" 45 seconds ago Up 44 seconds amazing_chaum
5a015cb4f3f0 prom/snmp-exporter "/bin/snmp_exporter …" 8 days ago Up 8 days 0.0.0.0:9116->9116/tcp, :::9116->9116/tcp snmp_exporter
#
# ファイアウォールの設定を確認
sudo firewall-cmd --list-all
# ポート 9100 を開放
sudo firewall-cmd --zone=public --add-port=9100/tcp --permanent
# 設定を再読み込み
sudo firewall-cmd --reload
(6)snmp監視の実装
1. SNMP Exporterのインストール
まず、Prometheusのエクスポーターとして SNMP Exporter をインストールします。SNMP対応機器から情報を収集し、それをPrometheusのメトリクス形式で提供します。
# yum -y update
1. EPELリポジトリのインストール
# yum install epel-release –y
2. SNMPパッケージのインストール
# yum -y install net-snmp net-snmp-utils net-snmp-devel
# yum -y install snmp-mibs-downloader
EPELリポジトリの無効化
yum-config-manager --set-disabled epel-cisco-openh264
リポジトリの更新
yum makecache
パッケージのインストール
yum -y install net-snmp net-snmp-utils net-snmp-devel
パッケージの確認
snmpget –version
NET-SNMP version: 5.9.1
# cd /usr/share/snmp/mibs/
mib.txtが存在することを確認する
# ls
# cp /usr/share/snmp/mibs/* ./mibs
[root@localhost etc]# cd snmp_exporter/
[root@localhost snmp_exporter]# ls
generator.yml mibs snmp.yml
# cat generator.yml
modules:
if_mib:
walk: [sysUpTime, interfaces, ifXTable]
#
# docker run -it -v /etc/snmp_exporter:/opt/ -v /etc/snmp_exporter/mibs:/
opt/mibs prom/snmp-generator generate
ts=2024-10-19T18:45:49.683Z caller=net_snmp.go:175 level=info msg="Loading MIBs" from=mibs
ts=2024-10-19T18:45:49.824Z caller=main.go:58 level=info msg="Generating config for module" module=if_mib
ts=2024-10-19T18:45:49.829Z caller=main.go:73 level=info msg="Generated metrics" module=if_mib metrics=43
ts=2024-10-19T18:45:49.838Z caller=main.go:98 level=info msg="Config written" file=/opt/snmp.yml
#ls
# docker run -d -v /etc/snmp_exporter:/opt/ --name snmp-exporter prom/snmp-exporter
メトリクスの確認(ブラウザから確認)
http://<snmp-exporter-ip>:9116/metrics
SNMP Exporterのセットアップが完了し、Prometheusでの監視が開始できるはず
(7)prometheus.ymlの編集
# docker ps
# docker exec -it <コンテナIDまたは、NAME> /bin/sh
/prometheus $ cd /etc/prometheus/
/etc/prometheus $ ls
console_libraries consoles prometheus.yml
編集時
/prometheus $ vi prometheus.yml
/etc/prometheus $ cat prometheus.yml
# my global config
global:
scrape_interval: 15s # Set the scrape interval to every 15 seconds. Default is every 1 minute.
evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute.
# scrape_timeout is set to the global default (10s).
# Alertmanager configuration
alerting:
alertmanagers:
- static_configs:
- targets:
# - alertmanager:9093
# Load rules once and periodically evaluate them according to the global 'evaluation_interval'.
rule_files:
# - "first_rules.yml"
# - "second_rules.yml"
# A scrape configuration containing exactly one endpoint to scrape:
# Here it's Prometheus itself.
scrape_configs:
# The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
- job_name: "prometheus"
# metrics_path defaults to '/metrics'
# scheme defaults to 'http'.
static_configs:
- targets: ["localhost:9090"]
- targets: ["192.168.73.156:9116"]
- targets: ["192.168.73.156:9100"]
# 9100 node-expoert
###### SNMP
- job_name: 'cisco_ncs_snmp'
static_configs:
- targets: ['192.168.73.142']
metrics_path: /snmp
params:
module: ['snmpnet_basic']
relabel_configs:
- source_labels: [__address__]
target_label: __param_target
- source_labels: [__param_target]
target_label: instance
- target_label: __address__
replacement: snmp-exporter:9116
==
/prometheus $ exit
#
# sudo docker restart <コンテナIDまたは、NAME>
※dnfコマンドでインストールした時のymlファイルの設置場所
/etc/prometheus/prometheus.yml
vi /etc/prometheus/prometheus.yml などで編集する。
(7)Prometheusの再起動コマンド(以下はdnfでインストールした場合)
sudo systemctl restart prometheus
# sudo systemctl restart prometheus
# sudo systemctl status prometheus
● prometheus.service - Prometheus
Loaded: loaded (/etc/systemd/system/prometheus.service; enabled; preset: disabled)
Active: active (running) since Mon 2024-10-07 23:33:21 JST; 9s ago
Main PID: 3542800 (prometheus)
Tasks: 10 (limit: 48919)
Memory: 28.5M
CPU: 714ms
CGroup: /system.slice/prometheus.service
mq3542800 /usr/local/bin/prometheus --config.file=/etc/prometheus/prometheus.yml --storage.tsdb.path=/var/lib/prometheus/data --web.listen-address=0.0.0.0:9090 --web.config.file=/etc/prome>
Oct 07 23:33:22 localhost.localdomain prometheus[3542800]: ts=2024-10-07T14:33:22.444Z caller=head.go:685 level=info component=tsdb msg="WAL segment loaded" segment=147 maxSegment=149
Oct 07 23:33:22 localhost.localdomain prometheus[3542800]: ts=2024-10-07T14:33:22.550Z caller=head.go:685 level=info component=tsdb msg="WAL segment loaded" segment=148 maxSegment=149
Oct 07 23:33:22 localhost.localdomain prometheus[3542800]: ts=2024-10-07T14:33:22.552Z caller=head.go:685 level=info component=tsdb msg="WAL segment loaded" segment=149 maxSegment=149
Oct 07 23:33:22 localhost.localdomain prometheus[3542800]: ts=2024-10-07T14:33:22.552Z caller=head.go:722 level=info component=tsdb msg="WAL replay completed" checkpoint_replay_duration=4.507809ms wal_>
Oct 07 23:33:22 localhost.localdomain prometheus[3542800]: ts=2024-10-07T14:33:22.561Z caller=main.go:1014 level=info fs_type=XFS_SUPER_MAGIC
Oct 07 23:33:22 localhost.localdomain prometheus[3542800]: ts=2024-10-07T14:33:22.561Z caller=main.go:1017 level=info msg="TSDB started"
Oct 07 23:33:22 localhost.localdomain prometheus[3542800]: ts=2024-10-07T14:33:22.561Z caller=main.go:1197 level=info msg="Loading configuration file" filename=/etc/prometheus/prometheus.yml
Oct 07 23:33:22 localhost.localdomain prometheus[3542800]: ts=2024-10-07T14:33:22.577Z caller=main.go:1234 level=info msg="Completed loading of configuration file" filename=/etc/prometheus/prometheus.y>
Oct 07 23:33:22 localhost.localdomain prometheus[3542800]: ts=2024-10-07T14:33:22.577Z caller=main.go:978 level=info msg="Server is ready to receive web requests."
Oct 07 23:33:22 localhost.localdomain prometheus[3542800]: ts=2024-10-07T14:33:22.578Z caller=manager.go:974 level=info component="rule manager" msg="Starting rule manager..."
[root@localhost ~]#
ymlファイルのネタ
(8)Prometheusの起動確認
http://192.168.73.153:9090(192.168.73.153は、ホストアドレスのIP+ポート番号9090で確認)で起動確認
(8)snmp.ymlの設定
SNMP Exporterは snmp.yml という設定ファイルを使用して、どのOIDを監視するかを指定します。このファイルを適切に設定する必要があります。
以下の例は、単純なSNMPデバイス(例:スイッチやルーター)からデータを取得するための snmp.yml 設定例です。
dockerでインストールした場合、/etc/snmp/snmp.ymlのパターンが多いです。
# docker ps
# docker exec -it <コンテナIDまたは、NAME> /bin/sh
/ # cd /etc/snmp_exporter/
/etc/snmp_exporter # ls
snmp.yml
/etc/snmp_exporter # vi snmp.yml
modules:
if_mib:
walk:
- 1.3.6.1.2.1.2
lookups:
- source_indexes: [ifIndex]
lookup: ifDescr
auth:
community: public
version: 2c
# docker ps
# docker exec -it <コンテナIDまたは、NAME> /bin/sh
/prometheus $ cd /etc/prometheus/
/etc/prometheus $ ls
console_libraries consoles prometheus.yml
# vi prometheus.ymlの中身
global:
scrape_interval: 15s
scrape_configs:
- job_name: 'prometheus'
static_configs:
- targets:
- 'localhost:9090' # Prometheus自体のアドレス
- job_name: 'snmp'
static_configs:
- targets:
- 'localhost:9116' # SNMP Exporterのアドレス
#
docker ps
#
sudo docker restart <コンテナIDまたは、NAME>
# ポート 9116 を開放(9166が開放していない場合)
sudo firewall-cmd --zone=public --add-port=9900/tcp --permanent
# 設定を再読み込み
sudo firewall-cmd --reload
5.Grafana導入
「https://grafana.com/docs/grafana/latest/setup-grafana/installation/docker/」よりGrafana Dcokerイメージのダウンロード方法の確認
Grafana Docker イメージには 2 つのエディションが有るとのことです。今回はエンタープライズ向けをダウンロードしてみましょう
グラファナエンタープライズ:grafana/grafana-enterprise
Grafana オープンソース:grafana/grafana-oss
また、Grafanaについてですが、「注: Grafana の推奨およびデフォルトのエディションは Grafana Enterprise です。これは無料で、OSS エディションのすべての機能が含まれています。さらに、Enterprise プラグインのサポートを含む完全な Enterprise 機能セットにアップグレードするオプションもあります。」とのことですのでEnterprise向けのプラグインも気になる所です。
「docker run -d -p 3000:3000 --name=grafana grafana/grafana-enterprise」のコマンドでインストールできる様ですので実行していきます。
(1)Grafanaのダウンロードとインストール(docker run -p)
# docker run -d -p 3000:3000 --name=grafana grafana/grafana-enterprise
Unable to find image 'grafana/grafana-enterprise:latest' locally
latest: Pulling from grafana/grafana-enterprise
4abcf2066143: Pull complete
2d909cc2324c: Pull complete
9dbc2360a837: Pull complete
ffe507044409: Pull complete
41bb98e3264e: Pull complete
dfb27e8663de: Pull complete
506a53f222bf: Downloading [========> ] 12.38MB/69.04MB
f9608e0e3618: Downloading [==> ] 3.237MB/54.29MB
9f9d9210691d: Download complete
312b95b17829: Download complete
sudo firewall-cmd --zone=public --add-port=3000/tcp --permanent
# 設定を再読み込み
sudo firewall-cmd --reload
(2)Dockerで稼働中のプロセスを確認する方法
3000番ポートでGrafanaが起動していることが確認できます「70775e40d9f4 grafana/grafana-enterprise "/run.sh" About a minute ago Up About a minute 0.0.0.0:3000->3000/tcp, :::3000->3000/tcp grafana」
[root@localhost ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
70775e40d9f4 grafana/grafana-enterprise "/run.sh" About a minute ago Up About a minute 0.0.0.0:3000->3000/tcp, :::3000->3000/tcp grafana
a4b521464ca6 splunk/splunk "/sbin/entrypoint.sh…" 7 days ago Exited (255) 2 days ago 8065/tcp, 8088-8089/tcp, 8191/tcp, 9887/tcp, 0.0.0.0:8000->8000/tcp, :::8000->8000/tcp, 9997/tcp splunk
9d41ee1b41d5 prom/prometheus "/bin/prometheus --c…" 7 days ago Exited (255) 2 days ago 0.0.0.0:9090->9090/tcp, :::9090->9090/tcp interesting_agnesi
8067f3bd0118 prom/snmp-exporter "/bin/snmp_exporter …" 7 days ago Exited (255) 2 days ago 0.0.0.0:9116->9116/tcp, :::9116->9116/tcp snmp_exporter
[root@localhost ~]#
Grafanaのps(プロセス)確認方法
Grafanaのログの確認方法(docker logs --tail 10 grafana)
ホストPCを再起動したときの対応
以下の様にdocker ps コマンドに「grafana/grafana」が表示されない場合の対応
# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
e0d340fb78df quay.io/prometheus/node-exporter:latest "/bin/node_exporter …" 3 days ago Up 27 minutes 0.0.0.0:9100->9100/tcp, :::9100->9100/tcp node_exporter
3bac9ec99786 prom/prometheus "/bin/prometheus --c…" 3 days ago Up About a minute 0.0.0.0:9090->9090/tcp, :::9090
Image「grafana/grafana」のIDを確認する。
今回の場合、CONTANER IDは、「84eee8f8c3e0」になる。
[root@localhost ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
84eee8f8c3e0 grafana/grafana "/run.sh" 3 days ago Exited (255) 26 minutes ago 0.0.0.0:3000->3000/tcp, :::3000->3000/tcp grafana
e0d340fb78df quay.io/prometheus/node-exporter:latest "/bin/node_exporter …" 3 days ago Up 26 minutes 0.0.0.0:9100->9100/tcp, :::9100->9100/tcp node_exporter
af86946e2bbd quay.io/prometheus/node-exporter:latest "/bin/node_exporter …" 3 days ago Exited (143) 3 days ago relaxed_jennings
87b7fbbac13d influxdb:2 "/entrypoint.sh infl…" 3 days ago Exited (255) 26 minutes ago 0.0.0.0:8086->8086/tcp, :::8086->8086/tcp intelligent_goldberg
761ed3eaadd2 influxdb:2 "/entrypoint.sh infl…" 3 days ago Exited (0) 3 days ago upbeat_brattain
068138ba84b6 influxdb:2 "/entrypoint.sh infl…" 3 days ago Exited (0) 3 days ago focused_khorana
74ea720e2458 telegraf "/entrypoint.sh tele…" 3 days ago Created telegraf
3bac9ec99786 prom/prometheus "/bin/prometheus --c…" 3 days ago Up About a minute 0.0.0.0:9090->9090/tcp, :::9090->9090/tcp prometheus
a4b521464ca6 splunk/splunk "/sbin/entrypoint.sh…" 11 days ago Exited (255) 6 days ago 8065/tcp, 8088-8089/tcp, 8191/tcp, 9887/tcp, 0.0.0.0:8000->8000/tcp, :::8000->8000/tcp, 9997/tcp splunk
9d41ee1b41d5 prom/prometheus "/bin/prometheus --c…" 11 days ago Exited (255) 6 days ago 0.0.0.0:9090->9090/tcp, :::9090->9090/tcp interesting_agnesi
8067f3bd0118 prom/snmp-exporter "/bin/snmp_exporter …" 11 days ago Exited (2) 3 days ago snmp_exporter
以下のコマンドを投入する「docker start 84eee8f8c3e0(コンテナID)」
# docker start 84eee8f8c3e0
84eee8f8c3e0
再度ps コマンドを投入する
IMAGEに「grafana/grafana 」が追加されていることを確認可能
[root@localhost ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
84eee8f8c3e0 grafana/grafana "/run.sh" 3 days ago Up 23 seconds 0.0.0.0:3000->3000/tcp, :::3000->3000/tcp grafana
e0d340fb78df quay.io/prometheus/node-exporter:latest "/bin/node_exporter …" 3 days ago Up 29 minutes 0.0.0.0:9100->9100/tcp, :::9100->9100/tcp node_exporter
3bac9ec99786 prom/prometheus "/bin/prometheus --c…" 3 days ago Up 3 minutes 0.0.0.0:9090->9090/tcp, :::9090->9090/tcp prometheus
(4)Grafanaの起動確認
http://192.168.73.153:3000(192.168.73.153は、ホストアドレスのIP+ポート番号3000で確認)で起動確認
初期ID/パスワードは admin/admin
(5) パスワード更新画面
なにかパスワードを入力すると先に進みます
(6)Grafanaログイン後初期画面
(7) 外部データの取り込み方法
HOME > Connections
(8)New Addtionsの表示
(9)検索画面に「prometheus」などの入力
(10)Prometheus Data Source - Native Pluginの表示
右上DataSourceの入力
(11)DataSourceにProtmetheusの表示
DataSource入力後、Test&Saveを選択
(12)Test&SaveがOKだった時の表示
(13)Prometheusのデータ取得1
HOME→Explorerの選択
(14)Prometheusのデータ取得2 クエリ内容の入力
Outlineにprometheusを選択、Metric:UP選択、Instanceにjobを選択、SelectValueにprometheusを選択
(15)Prometheusのデータ取得2
「QueryInspector」のクリックと「Query」のRefleshの実行
(16)Prometheusのデータ取得3
(17)DashBoardへの追加
(18)AddPaneltoDashBoardの選択画面表示
6.Grafana拡張
ここから先は
¥ 100
この記事が気に入ったらチップで応援してみませんか?