国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 服務(wù)器 > Web服務(wù)器 > 正文

使用Grafana 展示Docker容器的監(jiān)控圖表并設(shè)置郵件報(bào)警規(guī)則(圖解)

2024-09-01 13:50:22
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

一、Docker 容器監(jiān)控報(bào)警方式

grafana,docker,圖表

  接著上篇文章的記錄,看到grafana的版本已經(jīng)更新到4.2了,并且在4.0以后的版本中,加入了Alert Notifications 功能,這樣在對(duì)容器 監(jiān)控完,可以加入報(bào)警規(guī)則。根據(jù)官網(wǎng)介紹,報(bào)警方式也有很多種,常見(jiàn)的Email、Slack即時(shí)通訊、webhook等。

  本篇記錄的是郵件的報(bào)警設(shè)置。環(huán)境和上篇基本一致,都是在Docker 平臺(tái)測(cè)試環(huán)境下,另外本篇使用的grafana容器的版本是用的 dockerhub上最新版本,該版本為grafana/grafana:latest; 還有一點(diǎn)需要說(shuō)明,由于該容器是使用了docker file 生成的,并且容器進(jìn)程grafana-server 的服務(wù)啟動(dòng)腳本是run.sh,所以我們要對(duì)run.sh進(jìn)行修改,之后重啟容器,然后去界面上配置。

  整體大概步驟:創(chuàng)建容器-->修改容器內(nèi)的run.sh文件,添加smtp相關(guān)配置 -->重啟容器-->登陸grafana 界面,添加報(bào)警Notifications-->添加inFluxdb數(shù)據(jù)源-->編輯Graph,定義報(bào)警規(guī)則-->測(cè)試報(bào)警郵件驗(yàn)證

二、部署grafana容器并配置郵件報(bào)警

1.運(yùn)行創(chuàng)建一個(gè)grafana 容器

[root@docker ~]# docker run -d -p 80:3000 -e INFLUXDB_HOST=localhost -e INFLUXDB_PORT=8086 -e INFLUXDB_NAME=cadvisor -e INFLUXDB_USER=root -e INFLUXDB_PASS=root --link influxsrv:influxsrv --name grafana-alerting grafana/grafanaf9495c492b9e4c735f0002d47fc4af668691f83e60b70d7b09defbfa2c806f6d

2.修改容器內(nèi)grafana服務(wù)運(yùn)行的腳本

分為2種方法,

  第一種:

  將grafana-alerting 容器內(nèi)的 run.sh 拷貝到宿主機(jī)上進(jìn)行修改,修改完成后再copy 過(guò)去 覆蓋替換即可

[root@docker ~]# docker cp grafana-alerting:/run.sh /tmp/run.sh

  編輯/tmp/run.sh 文件(后面會(huì)給出文件完整內(nèi)容)修改完成后,將該腳本替換容器內(nèi)的腳本

[root@docker ~]# docker cp /tmp/run.sh grafana-alerting:/run.sh

  第二種:

  進(jìn)入到容器內(nèi),先apt-get update 更新系統(tǒng),之后安裝vim(默認(rèn)官方鏡像內(nèi),沒(méi)有找到vim、vi、nano類似的編輯器。我是沒(méi)有找到哈,也許可能會(huì)有),這個(gè)方式就不細(xì)說(shuō)了吧。

run.sh 文件完整內(nèi)容如下:

#!/bin/bash -e: "${GF_PATHS_DATA:=/var/lib/grafana}": "${GF_PATHS_LOGS:=/var/log/grafana}": "${GF_PATHS_PLUGINS:=/var/lib/grafana/plugins}": "${GF_SMTP_ENABLED:=true}": "${GF_SMTP_HOST:=smtp.163.com:25}": "${GF_SMTP_USER:=fkcloudstack@163.com}": "${GF_SMTP_PASSWORD:=fuck123}": "${GF_SMTP_FROM_ADDRESS:=fkcloudstack@163.com}"chown -R grafana:grafana "$GF_PATHS_DATA" "$GF_PATHS_LOGS"chown -R grafana:grafana /etc/grafanaif [ ! -z ${GF_AWS_PROFILES+x} ]; then mkdir -p ~grafana/.aws/ touch ~grafana/.aws/credentials for profile in ${GF_AWS_PROFILES}; do  access_key_varname="GF_AWS_${profile}_ACCESS_KEY_ID"  secret_key_varname="GF_AWS_${profile}_SECRET_ACCESS_KEY"  region_varname="GF_AWS_${profile}_REGION"  if [ ! -z "${!access_key_varname}" -a ! -z "${!secret_key_varname}" ]; then   echo "[${profile}]" >> ~grafana/.aws/credentials   echo "aws_access_key_id = ${!access_key_varname}" >> ~grafana/.aws/credentials   echo "aws_secret_access_key = ${!secret_key_varname}" >> ~grafana/.aws/credentials   if [ ! -z "${!region_varname}" ]; then    echo "region = ${!region_varname}" >> ~grafana/.aws/credentials   fi  fi done chown grafana:grafana -R ~grafana/.aws chmod 600 ~grafana/.aws/credentialsfiif [ ! -z "${GF_INSTALL_PLUGINS}" ]; then OLDIFS=$IFS IFS=',' for plugin in ${GF_INSTALL_PLUGINS}; do grafana-cli --pluginsDir "${GF_PATHS_PLUGINS}" plugins install ${plugin} done IFS=$OLDIFSfiexec gosu grafana /usr/sbin/grafana-server / --homepath=/usr/share/grafana    / --config=/etc/grafana/grafana.ini   / cfg:default.paths.data="$GF_PATHS_DATA" / cfg:default.paths.logs="$GF_PATHS_LOGS" / cfg:default.paths.plugins="$GF_PATHS_PLUGINS" / cfg:default.smtp.enabled="$GF_SMTP_ENABLED" / cfg:default.smtp.host="$GF_SMTP_HOST" / cfg:default.smtp.user="$GF_SMTP_USER" / cfg:default.smtp.password="$GF_SMTP_PASSWORD" /cfg:default.smtp.from_address="$GF_SMTP_FROM_ADDRESS"

文件較容器內(nèi)的文件只增加了10汗內(nèi)容。前半部分加入的內(nèi)容:

: "${GF_SMTP_ENABLED:=true}"    #啟用smtp配置: "${GF_SMTP_HOST:=smtp.163.com:25}"    #smtp服務(wù)器的地址:端口: "${GF_SMTP_USER:=fkcloudstack@163.com}"    #認(rèn)證的郵箱賬戶: "${GF_SMTP_PASSWORD:=fuck123}"    #郵箱密碼(注:163使用的客戶端授權(quán)碼作為用戶密碼): "${GF_SMTP_FROM_ADDRESS:=fkcloudstack@163.com}"    #郵箱發(fā)件人地址,注意!此處一定要和上面的郵箱認(rèn)證賬戶保持一致。不然會(huì)報(bào)553錯(cuò)誤。!!!

后半部分加入的內(nèi)容: 

cfg:default.smtp.enabled="$GF_SMTP_ENABLED" / cfg:default.smtp.host="$GF_SMTP_HOST" / cfg:default.smtp.user="$GF_SMTP_USER" / cfg:default.smtp.password="$GF_SMTP_PASSWORD" /cfg:default.smtp.from_address="$GF_SMTP_FROM_ADDRESS"

小注釋:

  Grafana服務(wù)器有一些配置選項(xiàng),可以在.ini配置文件中指定或使用環(huán)境變量指定。默認(rèn)配置文件路徑/etc/grafana/grafana.ini,也可以在啟動(dòng)grafana-server時(shí)指定配置文件路徑。

  環(huán)境變量格式:GF_<SectionName>_<KeyName> ;其中SectionName指的是配置文件中的中括號(hào)中的節(jié)名稱,KeyName 指的是參數(shù)名稱。要大寫(xiě)。

  cfg:default.smtp.host:這是在grafana 腳本啟動(dòng)時(shí)指定的參數(shù)。

3.修改完腳本,重啟該容器,相當(dāng)于重啟服務(wù)

[root@docker ~]# docker stop grafana-alertinggrafana-alerting[root@docker ~]# docker start grafana-alertinggrafana-alerting

4.打開(kāi)瀏覽器,訪問(wèn)http://ip,首頁(yè)如下:

grafana,docker,圖表

添加一個(gè)通知組,(可添加多個(gè),方便分組發(fā)送報(bào)警設(shè)置)

grafana,docker,圖表

Name: 定義一個(gè)通知名,可在后期的Graph 添加Alert 報(bào)警規(guī)則時(shí),指定Send to

Type:這里定義的email

Email addresses: 定義接收人郵件列表

最后保存,點(diǎn)擊SendTest,如果你的郵箱收到以下郵件,配置就成功了。

grafana,docker,圖表

5.添加數(shù)據(jù)源,和上篇內(nèi)容中添加信息一樣。此步就略過(guò)啦。

6.添加一個(gè)Dashboard

grafana,docker,圖表

然后新建一個(gè)Graph,編輯,下面有個(gè)Alert,,創(chuàng)建一個(gè)Alert。如下圖:

grafana,docker,圖表

Alert Config 填寫(xiě)內(nèi)容如下:

grafana,docker,圖表

Notifications處填寫(xiě)如下:

主要選擇發(fā)送到之前定義的通知組

grafana,docker,圖表

7.進(jìn)入所監(jiān)控的容器內(nèi),使用以下命令模擬內(nèi)存升高

進(jìn)入容器:

[root@docker ~]# docker exec -it cadvisor /bin/ash

使用dd命令,如下:

/ # swapoff -a/ # dd if=/dev/zero of=/dev/shm/test bs=1k count=80000kdd: writing '/dev/shm/test': No space left on device65537+0 records in65536+0 records out

然后觀察Grafana的graph 界面,可以發(fā)現(xiàn)報(bào)警規(guī)則已經(jīng)生效,可以登錄設(shè)定的郵箱,看下有無(wú)收到郵件。

grafana,docker,圖表

郵件內(nèi)容如下:

grafana,docker,圖表

釋放內(nèi)存,只需要?jiǎng)h除/dev/shm/test 文件即可。

/ # rm -f /dev/shm/test

等待5分鐘(這個(gè)5分鐘是在報(bào)警規(guī)則那定義的5m)后,警告就會(huì)解除。♥ 的顏色也會(huì)由紅色變成綠色

grafana,docker,圖表

OK的郵件也已經(jīng)收到,如下 :)

grafana,docker,圖表

 另外,可以在Alerting--Alert Llist中查看警告列表。

grafana,docker,圖表

三、后記

  目前Grafana 只支持graph添加報(bào)警規(guī)則,官方說(shuō)后續(xù)會(huì)支持Singlestat和Table 面板,詳細(xì)介紹的,可以參考這里。grafana監(jiān)控報(bào)警方面暫時(shí)學(xué)習(xí)記錄到這里吧,后期有什么擴(kuò)展學(xué)習(xí),在繼續(xù)分享。文中有不足之處,還望大家多多指教。如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)VEVB武林網(wǎng)網(wǎng)站的支持!


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 句容市| 习水县| 清水县| 锡林郭勒盟| 本溪市| 巴楚县| 安仁县| 寻乌县| 黄平县| 肇庆市| 都安| 遂平县| 新竹县| 永康市| 杨浦区| 康定县| 丘北县| 虹口区| 华宁县| 泰州市| 宾川县| 大渡口区| 广饶县| 苍南县| 江孜县| 大兴区| 五指山市| 额尔古纳市| 河曲县| 荆州市| 毕节市| 达尔| 广丰县| 惠东县| 东至县| 明水县| 保山市| 仁布县| 博湖县| 视频| 钟山县|