2026/08/04
2026/05/14
2026/04/22
前几天把grafana升到 13 版後
原本可以捉的圖都無法出現了
查了一下才知道 13 版 已經把
grafana-image-renderer 的plugin 拿掉了
官方文件有提到怎麼理
https://grafana.com/docs/grafana/latest/setup-grafana/image-rendering/
2025/05/06
2024/12/15
2024/09/16
最近因為換冷氣 所以要觀察 raspberry 的cpu溫度
來調整冷氣的設定溫度
先前已經利用設定snmp把值放在librenms上畫圖
今天想到grafana可以取值來畫圖
而且應該比snmp librenms 方便
首先把日期跟溫度存成csv 檔 格式如下 放在web server上
格式如下
time,temperature
Sun Sep 15 09:15:01 CST 2024,46.2
Sun Sep 15 09:20:01 CST 2024,46.2
接下來只要定時更新這個csv檔就可以了
grafana 要add new datasource
yesoreyeram-infinity-datasource
Add visualization
select data source
type 選擇csv 修改csv檔的url
要把columns 依照數字及時間 設定好
時間的格式一定要依照cvs檔裡的時間格式設定好才能畫圖
完成後就能看到如下的圖了
2024/03/14
2023/05/03
2022/01/15
proxmox 目前有支援 metric server 把系統資料往外丟到
Graphite 或 InfluxDB
就可以利用grafana來畫圖
因為proxmox丟到influxdb只提供 udp http https 三種方式
而influxdb預設使用tcp
因此要修改 /etc/influxdb/influxdb.conf
加上
[[udp]]
enabled = true
bind-address = "0.0.0.0:8089"
database = "proxmox"
batch-size = 1000
batch-timeout = "1s"
proxmox 上的設定如上圖
如果設定新 proxmox 的dashboard步驟如下先在influxdbcreate 新databasecreate database proxmox_new
再修改 /etc/influxdb/influxdb.conf
加上
[[udp]] enabled = true bind-address = "0.0.0.0:8090" database = "proxmox_new" batch-size = 1000 batch-timeout = "1s"注意藍字部分改完後重啟 influxdb接下來到proxmox主控台依上述的config進行設定再來設定grafana到 https://grafana.com/grafana/dashboards/10048/revisions 下載 proxmox_rev1.json修改 proxmox_rev1.json 內容 檔案最下方"title": "Proxmox_new", "uid": "kxQQuHRak",
改完後 import 時要選擇 upload json file 使用上述修改好的檔案
https://www.cxybb.com/article/caiyqn/106380171
https://www.linuxsysadmins.com/monitoring-proxmox-with-grafana/
2022/01/10
想在其他網頁上show出grafana的圖
查了一些資料
說到可以改為anonymous不登入
但感覺醬不太安全
最後決定使用api key的方式來處理
首先產生api key
登入後 在畫面左邊的齒輪(configuration)點進去 再點選 API keys
因為目前不支援整個dashboard的render 只能單一panel
所以在panel上方點出選項然後再點下 share
因為沒有安裝 renderer 所以出現以下訊息
以下指令安裝
grafana-cli plugins install grafana-image-renderer
安裝後就會出現
direct link rendered image 的連結
但點下去之後出現
無法畫圖
查了一下log
要在OS補上以下的package
yum install -y atk
yum install -y at-spi2-atk
yum install -y cups-libs
yum install -y libdrm
yum install -y libxkbcommon
yum install -y libXcomposite
yum install -y libXdamage
yum install -y mesa-libgbm
yum install -y pango
yum install -y alsa-lib
補好再點就會出現圖了
些時就可以使用 api key把圖捉出來了
curl 使用的連結就是 direct link rendered image 的連結
以下語法是取出10分鐘前到現在的資料
curl -H "Authorization: Bearer your api key" "http://10.0.0.1:3000/render/d-solo/XICbV6A7k/lib-air-quality?orgId=1&from=now-10m&to=now&panelId=6&width=1000&height=500&tz=Asia%2FTaipei" > output.png
2021/04/23
最近在試grafana的loki
這個專案已經釋出有一段時間了
只是一直沒去試
這几天試了一下
發現還不錯
如果沒有太複雜的需求
是一個不錯的選擇
稍微簡單說一下
目前在github上可以看到相關的程式有4個
logcli
command line 搜尋工具
如果不想用這個工具 也可以直接使用curl
curl -G -s "http://10.0.0.1:3100/loki/api/v1/query_range" --data-urlencode 'query={job="abc"}' --data-urlencode 'step=3000'|jq
loki-canary
效能檢視工具
loki
主程式
promtail
把資料拋回loki的client程式
最簡單的方式就是直接執行
loki 跟 promtail這二支程式
完全不需要安裝
在執行前注意要先把二個yaml檔定義好
loki 如果使用預設的yaml 要記得修改資料存放的路徑 預設是放在 /tmp
promtail預設收log file的路徑要記得改 如果有多個檔案要收
記得要增加如藍色的那段
scrape_configs:
- job_name: system
static_configs:
- targets:
- localhost
labels:
job: varlogs
__path__: /var/log/*
- targets:
- localhost
labels:
job: nginxlogs
__path__: /var/log/nginx/*
如果想使用網頁介面進行搜尋
就可以在grafana進行設定
https://grafana.com/docs/loki/latest/overview/
2019/05/29
2019/05/23
本來是有使用
但自從上次nas 掛二個HD GG後
graylog重裝 這個功能就沒有再加上去了
直到最近有人提到說想看類似的圖
才想說再起起來
沒想到由於目前收的log筆數太多
功能起起來後 因為會去解析所有進到graylog的ip
系統資源無法負荷
所以只好關掉再想別的辦法
剛好最近玩的grafana有個worldmap pannel 的plugin
想說來試看看
這個plugin支援滿多的datasource
Graphite
InfluxDB
OpenTSDB
Prometheus
MySQL
Postgres
MSSQL
Elasticsearch
想說就拿influxDB來用
首先每五分鐘到graylog取回這段時間被block的ip
取回後
再利用 geoiplookup 來把ip的地理位置取出來
在centos 7 上安裝
yum install GeoIP
裝好後就可以使用了
語法是
geoiplookup 8.8.8.8
GeoIP Country Edition: US, United States
我只想用國家來畫 所以以上資的資料就夠了
有二個原因
因為worldmap panel 直接支援用國碼來畫圖
再來就是如果要用座標來畫 一天的資料可能就會把HD撐爆了
接下來就是把以上取得的資料塞進influxdb
以下是程式碼
/bin/curl -u username:passwd 'http://10.10.10.10:9000/api/search/universal/keyword/export?query=source%3A10.10.10.20&keyword=last%205%20mins&batch_size=500&fields=message' > /tmp/5min_ipp
cat /tmp/5min_ipp |grep '\[' |awk '{print $2}'|cut -d ']' -f 1|cut -d '[' -f 2 > /tmp/5min_ip
rm /tmp/country
for i in `cat /tmp/5min_ip`
do
country=`/bin/geoiplookup $i|awk '{print $4}'|cut -c 1-2`
echo $country >> /tmp/country
done
cat /tmp/country|sort|uniq -c > /tmp/attack_data
while read line
do
# echo $line
/bin/influx -database "attacker" -execute "insert attack,name=`echo $line|awk '{print $2}'` value=`echo $line|awk '{print $1}'`"
done < /tmp/attack_data
attack 這個 Measurement只放了二個資料
國碼 這五分鐘的攻擊次數
如下
1558574202593759971 SG 9
1558574203886084275 SK 1
1558574205156245342 TH 3
1558574206520742362 TR 4
最後就是畫圖了 這也是搞最久的地方
設定influxdb 的datasource
在dashbord上加上world map panel

紅色框一定要依据定義的field設對 不然圖就是出不來
location data 選擇country 以符合上面說明資料
如果設定正常 就會看到以下的圖了
以上的程式在每五分鐘執行時會使用大量的cpu資源
請特別注意
另外可能要依据需求定時去清理influxdb的資料 以免占用太多HD空間
https://blog.csdn.net/Py_Wang/article/details/79186634
2019/05/22
2019/05/21
設定完成後按下 save test 檢查是否設定成功

















