普羅米修斯監控實踐

1、監控linux機器

node-exporter 被監控的機器安裝


https://github.com/prometheus/node_exporter/releases/download/v0.17.0/node_exporter-0.17.0.linux-amd64.tar.gz

這裡導入的數據源非彼數據源 ,而是用 grafana畫好的 dashborad

這裡的數據源 才是選擇 prometeus 的數據源

配置----piechart插件

安裝pie插件

官網:https://grafana.net/plugins/grafana-piechart-panel


grafana的默認插件目錄是/var/lib/grafana/plugins,可以將下載好的插件解壓到這個目錄,

重啟grafana即可

<code>service grafana-server restart /usr/sbin/grafana-cli plugins ls  #查看已安裝插件/<code>

啟動

效果圖


2、監控Windows機器


wmi-exporter


被監控windows機器安裝wmi-exporter,會自動創建一個開機自啟的服務

https://github.com/martinlindhe/wmi_exporter/releases


默認wmi-exporter 端口為:9182


<code>​ - job_name: 'Prometheus'   static_configs:   - targets: ['118.190.217.164:9182'] ​/<code>

3、監控mysql

3.1、配置mysql

<code># 由於小編的服務器是空的,所以需要安裝一下這裡也做一下記錄 ​ # 查看是否安裝mysql yum list installed | grep mysql ​ # 安裝步驟 1、下載mysql 包 rpm -ivh http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm ​ 2、安裝mysql yum install -y mysql-server ​ 3、 設置開機啟動 systemctl enable mysqld.service ​ 4、檢查是否安裝了開機啟動 systemctl list-unit-files | grep mysqld ​ ​ 5、 設置開啟服務 systemctl start mysqld.service ​ 6、查看默認密碼 grep 'temporary password' /var/log/mysqld.log ​ 7、 登錄mysql mysql -uroot -p ​ 8、 修改當前用戶密碼 SET PASSWORD = PASSWORD('123456'); ​ 9、 開啟遠程登錄,授權root遠程登錄 GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456!' WITH GRANT OPTION; ​ 10、刷新立即生效 ​ flush privileges; ​/<code>

3.2、exporter

1、被監控mysql機器安裝mysqld-exporter

https://github.com/prometheus/mysqld_exporter/releases/download/v0.11.0/mysqld_exporter-0.11.0.linux-amd64.tar.gz


tar -C /usr/local/ -xvf mysqld_exporter-0.11.0.linux-amd64.tar.gz

2、設置配置文件,user為數據庫登錄用戶,password為這個用戶的密碼

<code>​ vi .my.cnf ​ [client] user=root ​ password=123456 ​/<code>

(3)啟動mysqld-exporter

4、prometheus配置文件中加入mysql監控並重啟

<code>​ vim /root/prometheus/prometheus/prometheus.yml ​ # mysql-exporter 默認端口為 9104 - job_name: 'MySQL'   static_configs:    - targets: ['118.190.217.164:9104'] ​ ​/<code>

5、設置數據源 grafana界面添加`mysql數據源

添加需要被監控的數據庫及相關信息

測試是否成功,如下圖:

重啟Prometheus服務就可以看到Mysql的配置

6、導入配置好的dashboard,數據源選擇mysql數據源即可。(剛安裝的所以信息較少)


4、 監控Redis

4.1、配置redis

我們直接去redis 的官網下載:



wget http://download.redis.io/releases/redis-5.0.8.tar.gz
tar xzf redis-5.0.8.tar.gz -C /usr/local
cd /usr/local/redis-5.0.8
make

src/redis-server


發現以下異常警告,需要對Redis做一些配置。

Redis常用配置

vim redis.conf

解決方案

考慮到redis一般都是部署在服務器上作為服務存在的。所以,本文的解決方案都是持久性配置,不是臨時配置。

第一個警告

將net.core.somaxconn = 1024添加到/etc/sysctl.conf中,然後執行sysctl -p生效配置。

第二個警告

將vm.overcommit_memory = 1添加到/etc/sysctl.conf中,然後執行sysctl -p生效配置。

第三個警告

將echo never > /sys/kernel/mm/transparent_hugepage/enabled添加到/etc/rc.local中,然後執行source /etc/rc.local生效配置。


<code>​ #修改daemonize為yes,即默認以後臺程序方式運行(還記得前面手動使用&號強制後臺運行嗎)。 daemonize no ​ #可修改默認監聽端口,如果改了端口啟動時需要指定端口號,“ redis-cli -p 6380” port 6379 ​ #修改生成默認日誌文件位置 logfile "/usr/local/redis-5.0.8/redis.log"" ​ #配置持久化文件存放位置 dir ./redisData ​ #設置redis的密碼,默認情況下“requirepass foobared”是被註釋的,去掉註釋,將“ foobared”改為要設置的密碼,重啟redis後生效 requirepass foobared ​ # 例如 requirepass 123456 ​/<code>

<code>​ 進入redis目錄 啟動redis (加上 & 號程序會以後臺方式運行) ./redis-server & ​/<code>

4.2、exporter

1、安裝redis_exporter

<code>​ tar xf redis_exporter-v0.15.0.linux-amd64.tar.gz -C /usr/local/ cd /usr/local/ ​/<code>

2、啟動redis_exporter

默認redis_exporter端口為9121

<code>​ ./redis_exporter redis//118.190.217.164:6379 & -web.listenaddress 118.190.217.164:9121 ​ ​/<code>

3、prometheus配置文件中加入redis監控並重啟

<code># 切記要重啟 vim /root/prometheus/prometheus/prometheus.yml ​ - job_name: 'Redis'   static_configs:    - targets: ['118.190.217.164:9121'] ​/<code>

4、grafana導入畫好的dashboard

重新啟動服務


5、效果總覽