1. 程式人生 > >telegraf、influxDB、Grafana的安裝與基本使用

telegraf、influxDB、Grafana的安裝與基本使用

目的
理解influxDB的資料收集原理和方法
為使用grafana分析資料及展示結作好準備
介紹
[收集資料] Telegraf 是一個用 Go 編寫的代理程式,可收集系統和服務的統計資料,並寫入到 InfluxDB 資料庫。Telegraf 具有記憶體佔用小的特點,通過外掛系統開發人員可輕鬆新增支援其他服務的擴充套件。
[儲存資料] InfluxDB 是 Go 語言開發的一個開源分散式時序資料庫,非常適合儲存指標、事件、分析等資料
[展示資料] Grafana 是純 Javascript 開發的前端工具,用於訪問InfluxDB,自定義報表、顯示圖表等。
telegraf安裝
下載
wget http://get.influxdb.org/telegraf/telegraf-0.11.1-1.x86_64.rpm
安裝
yum localinstall telegraf-0.11.1-1.x86_64.rpm -y
啟動服務、新增開機啟動
systemctl start telegraf.service
service telegraf status
systemctl enable telegraf.service
檢視版本
telegraf --version
Telegraf - Version 0.11.1
配置
路徑:/etc/telegraf/telegraf.conf
示例:安裝完成後會有一個示列配置檔案,請根據所需仔細閱讀檔案。
influxDB安裝
安裝部署,新增yum 源

cat <<EOF | sudo tee /etc/yum.repos.d/influxdb.repo
[influxdb]
name = InfluxDB Repository - RHEL \$releasever
baseurl = https://repos.influxdata.com/rhel/\$releasever/\$basearch/stable
enabled = 1
gpgcheck = 1
gpgkey = https://repos.influxdata.com/influxdb.key
EOF
安裝: yum install influxdb -y

啟動服務、新增開機啟動

service influxdb start
systemctl enable influxdb
service influxdb status
服務預設使用埠:

Networking By default, InfluxDB uses the following network ports:
TCP port 8083 is used for InfluxDB’s Admin panel
TCP port 8086 is used for client-server communication over InfluxDB’s HTTP API
TCP ports 8088 and 8091 are required for clustered InfluxDB instances
服務驗證 -輸入 influx 進入資料庫

[[email protected]

~]# influx
Visit https://enterprise.influxdata.com to register for updates, InfluxDB server management, and monitoring.
Connected to http://localhost:8086 version 0.11.0
InfluxDB shell 0.11.0
建立一個查詢使用者
CREATE USER "ptquery" WITH PASSWORD 'ptquery'
> show users;
user admin
ptquery false
ptdb1 fals
7.也可以在頁面建立查詢使用者 CREATE USER "ptquery" WITH PASSWORD 'ptquery'

檢視服務埠
[[email protected] ~]# netstat -tunlp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name

tcp6 0 0 :::8083 :::* LISTEN 22124/influxd
tcp6 0 0 :::8086 :::* LISTEN 22124/influxd
瀏覽器訪問資料庫管理平臺:
http://172.16.7.11:8083/
參考資訊:
https://influxdata.com/downloads/
grafana安裝
手動安裝:
wget https://grafanarel.s3.amazonaws.com/builds/grafana-latest-1.x86_64.rpm
yum install grafana-latest-1.x86_64.rpm
安裝包詳情
二進位制檔案 /usr/sbin/grafana-server
啟動指令碼 /etc/init.d/grafana-server
環境變數 /etc/sysconfig/grafana-server
配置檔案 /etc/grafana/grafana.ini
systemd服務 grafana-server.service
日誌 /var/log/grafana/grafana.log
服務詳情
啟動使用者 grafana
服務名稱 grafana-server
預設埠 3000
賬號 admin
密碼 admin
啟動服務、新增開機啟動
systemctl daemon-reload
systemctl start grafana-server
systemctl status grafana-server
systemctl enable grafana-server.service
訪問
http://server IP :3000
將資料寫入influxDB
influxDB line寫入協議介紹
格式: [measurements],[tag]=[tagvalue]空格 [field1]=[field1value],[field1]=[field1value]
說明:
命名規則:measurements、tag、field的命名不能含空間,逗號,如必須有,需有\轉義;
行格式有嚴格的要求,“=”左右及","分隔不能有空格
measurements,從統計學角度上看,這叫做樣本集。相當於關係資料庫的Table
tag,樣本集中個體的識別符號,相當於關係資料庫的primary key,
filed,個體屬性的度量值,可以為整型,浮點型,字元型,布林型 ,相當於關係資料庫的一般欄位
根據上面的寫入協議,編寫sh指令碼,然後通過telegraf排程執行,就可以把資料寫入到influxDB,具體步驟如下:
編寫sh指令碼,例子如下(bash shell指令碼也可以呼叫python指令碼,只要滿足line寫入協議輸出即可):
#! /bin/env bash
echo 'employee,empname=kk age=20,salary=3000'
修改telegraf的配置檔案/etc/telegraf/telegraf.conf,具體如下:
[[outputs.influxdb]]
urls = ["http://192.168.18.118:8086"] #infulxdb地址
database = "telegraf" #資料庫
precision = "s"
timeout = "5s"
username = "admin" #帳號
password = "admin" #密碼
[[inputs.exec]]
# Shell/commands array
commands = ["/tmp/qq.sh"]
# Data format to consume. This can be "json", "influx" or "graphite" (line-protocol)
# NOTE json only reads numerical measurements, strings and booleans are ignored.
data_format = "influx"
interval = "60s" #排程間隔
timeout = "15s" #超時控制
檢驗資料,登入到http://192.168.18.118:8086 資料已經被寫入到influxDB中
---------------------
作者:harryho
來源:CSDN
原文:https://blog.csdn.net/harryho/article/details/77585124
版權宣告:本文為博主原創文章,轉載請附上博文連結!