Skip to main content

3 posts tagged with "Grafana"

View All Tags

· 3 min read
zaxro

kibana

這邊用docker-compose起服務,不過會有conatiner一個使用者,而非預設的root

mkdir -p ./data
chown -R 472:472 ./data
version: "3.3"
services:
grafana:
image: grafana/grafana-enterprise:9.5.6
user: "472"
container_name: grafana
restart: unless-stopped
environment:
- GF_SERVER_ROOT_URL=http://*.948787.store/
- GF_INSTALL_PLUGINS=grafana-clock-panel
ports:
- '3000:3000'
volumes:
- '$PWD/data:/var/lib/grafana'

基本上,grafana只要設定資料源去拉prometheues,然後知道怎麼找適合的dashboard,以及變數如何設定就差不多!

· 15 min read
zaxro

prometheus

相較於Zabbix系統使用mysql之類的關聯式資料庫,prometheus使用是的TSDB時序資料庫,因其主要功能聚焦在看log跟分析數據,並不需要對不同表格做關聯.

採用tsdb的prometheus最最直觀的差別就是

  1. 使用 TSDB,它對系統資源的需求相對較低,這避免了 MySQL 等關聯式資料庫可能對系統資源的大量消耗
  2. 由於 TSDB 專為時間序列數據設計,它可以更有效地索引和查詢此類數據,使 Prometheus 的查詢速度比使用傳統關聯式資料庫的系統更快 在我自己的測試環境,用一台free tier的機器運行prometheus,也可以跑很順!

prometheus安裝

建立使用者

useradd --no-create-home --shell /bin/false prometheus

建立資料夾並授予使用者

mkdir -p /etc/prometheus /var/lib/prometheus
chown -R prometheus:prometheus /etc/prometheus /var/lib/prometheus

下載prometheus

wget https://github.com/prometheus/prometheus/releases/download/v2.44.0/prometheus-2.44.0.linux-amd64.tar.gz
tar xvfz prometheus-*.tar.gz

mv prometheus-2.44.0.linux-amd64 prometheuspackage
chown -R prometheus:prometheus prometheuspackage

· 4 min read
zaxro

前提

這邊假設已經設定好 host,且 zabbix 有接上 grafana 情況後,繼續往下描述.

目的: 定時抓取某 log file 其中的特定關鍵字,用 zabbix-sender 傳送資訊給 zabbix server,並把資料設定報警到 telegram,資訊會用 grafana 的 log 顯示。

step1. 設定 item

正常 zabbix 設定機器流程:

建立 Hosts groups-> 建立 Templates->往 Template 內設定要監控的 item->再把 templates 連結到 Hosts Groups 上面->最後把主機也就是 Host 添加到指定的 Host groups 上面。

這邊因為特別需求關係(只有這一台機器需要),因此直接在該 Host 上面設定 item.

選 Hosts

zabbix-side-bar

因為是用 zabbix-sender 所以這邊 type 用 zabbix trapper,要注意機器上面都用 Key 跟 zabbix server 溝通,Name 是該 Item 的名字,兩個設定常常會搞混。

zabbix-side-bar

step2. 安裝 zabbix-sender 並傳資料

機器上腳本設定 zabbix_sender 傳送資料,用 key 跟 output 做傳送

# 安裝zabbix-sender
yum install zabbix-sender
# 傳資訊給zabbix server
zabbix_sender -z 10.121.0.9 -s yourHostName -k test -o "$(cat /tmp/Lost_connection_to_db_server_${range2}_${range1}.log)"

確認 zabbix 是否有收到資料

zabbix-side-bar

step3. 設定 grafana 抓取資料

確認有收到資料後,在 grafana 新建 panel

zabbix-side-bar

設定資料原,注意這邊的 Query Mode 是設定 Text,有很多種型態,選錯會找不到資料

zabbix-side-bar

Grafana 模式記得要選 log,也可以使用其他模式玩玩看,因為這邊沒啥雷,就不特別截圖說明

(optional)step4. zabbix 告警 tg

先設定 Trigger,Problem expression 也就是當傳送資訊符合設定的條件就會引發告警,Recovery experssion 也就是當資訊符合哪些條件就會解除告警。

zabbix-side-bar

確定完的確會告警跟回復後,就可以設定 TG 告警。先去 Administration->Media type 複製 Telegram 那格。

zabbix-side-bar

在 Token 位置加入你 TG Token

zabbix-side-bar

建立新 User Group

zabbix-side-bar

設定該 User Group 對哪些 Host Group 有監控權限。

zabbix-side-bar

建立 User,並把該 User 加到 Group 內部,並設定當哪些狀態發生就往 TG 送資料

zabbix-side-bar

以上都 OK,可以會到前面 media type 那邊測試是否可以傳資料到TG

如果要將 Trigger 的資料送到 TG,一定要設定 Actions,這邊是一個坑,前面設定完了但都沒有送到 TG,結果發現這格沒有設定ZZZ

zabbix-side-bar