這篇文章主要介紹“如何使用Grafana展示Docker容器的監(jiān)控圖表并設(shè)置郵件報(bào)警規(guī)則”的相關(guān)知識(shí),小編通過(guò)實(shí)際案例向大家展示操作過(guò)程,操作方法簡(jiǎn)單快捷,實(shí)用性強(qiáng),希望這篇“如何使用Grafana展示Docker容器的監(jiān)控圖表并設(shè)置郵件報(bào)警規(guī)則”文章能幫助大家解決問(wèn)題。
網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)!專注于網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開(kāi)發(fā)、小程序定制開(kāi)發(fā)、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了昌邑免費(fèi)建站歡迎大家使用!
一、docker 容器監(jiān)控報(bào)警方式
接著上篇文章的記錄,看到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/grafana f9495c492b9e4c735f0002d47fc4af668691f83e60b70d7b09defbfa2c806f6d
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/grafana
if [ ! -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/credentials
fi
if [ ! -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=$oldifs
fi
exec 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ù)名稱。要大寫。
cfg:default.smtp.host:這是在grafana 腳本啟動(dòng)時(shí)指定的參數(shù)。
3.修改完腳本,重啟該容器,相當(dāng)于重啟服務(wù)
[root@docker ~]# docker stop grafana-alerting grafana-alerting [root@docker ~]# docker start grafana-alerting grafana-alerting
4.打開(kāi)瀏覽器,訪問(wèn),首頁(yè)如下:
添加一個(gè)通知組,(可添加多個(gè),方便分組發(fā)送報(bào)警設(shè)置)
name: 定義一個(gè)通知名,可在后期的graph 添加alert 報(bào)警規(guī)則時(shí),指定send to
type:這里定義的email
email addresses: 定義接收人郵件列表
最后保存,點(diǎn)擊sendtest,如果你的郵箱收到以下郵件,配置就成功了。
5.添加數(shù)據(jù)源,和上篇內(nèi)容中添加信息一樣。此步就略過(guò)啦。
6.添加一個(gè)dashboard
然后新建一個(gè)graph,編輯,下面有個(gè)alert,,創(chuàng)建一個(gè)alert。如下圖:
alert config 填寫內(nèi)容如下:
notifications處填寫如下:
主要選擇發(fā)送到之前定義的通知組
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=80000k dd: writing '/dev/shm/test': no space left on device 65537+0 records in 65536+0 records out
然后觀察grafana的graph 界面,可以發(fā)現(xiàn)報(bào)警規(guī)則已經(jīng)生效,可以登錄設(shè)定的郵箱,看下有無(wú)收到郵件。
郵件內(nèi)容如下:
釋放內(nèi)存,只需要?jiǎng)h除/dev/shm/test 文件即可。
/ # rm -f /dev/shm/test
等待5分鐘(這個(gè)5分鐘是在報(bào)警規(guī)則那定義的5m)后,警告就會(huì)解除。? 的顏色也會(huì)由紅色變成綠色
ok的郵件也已經(jīng)收到,如下 :)
另外,可以在alerting--alert llist中查看警告列表。

關(guān)于“如何使用Grafana展示Docker容器的監(jiān)控圖表并設(shè)置郵件報(bào)警規(guī)則”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí),可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,小編每天都會(huì)為大家更新不同的知識(shí)點(diǎn)。
當(dāng)前題目:如何使用Grafana展示Docker容器的監(jiān)控圖表并設(shè)置郵件報(bào)警規(guī)則
網(wǎng)站鏈接:http://www.chinadenli.net/article4/gicgie.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站策劃、用戶體驗(yàn)、小程序開(kāi)發(fā)、網(wǎng)站設(shè)計(jì)公司、定制開(kāi)發(fā)、品牌網(wǎng)站制作
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)