最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時間:2017年01月20日 11:38:35   作者:飛走不可  
這篇文章主要介紹了使用Grafana 展示Docker容器的監(jiān)控圖表并設(shè)置郵件報警規(guī)則的圖文教程,非常不錯,具有參考借鑒價值,需要的朋友參考下吧

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

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

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

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

二、部署grafana容器并配置郵件報警

1.運行創(chuàng)建一個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ù)運行的腳本

分為2種方法,

  第一種:

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

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

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

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

  第二種:

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

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)證賬戶保持一致。不然會報553錯誤。?。。?/pre>

后半部分加入的內(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ù)器有一些配置選項,可以在.ini配置文件中指定或使用環(huán)境變量指定。默認(rèn)配置文件路徑/etc/grafana/grafana.ini,也可以在啟動grafana-server時指定配置文件路徑。

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

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

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

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

4.打開瀏覽器,訪問http://ip,首頁如下:

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

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

Type:這里定義的email

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

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

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

6.添加一個Dashboard

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

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

Notifications處填寫如下:

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

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

進入容器:

[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)報警規(guī)則已經(jīng)生效,可以登錄設(shè)定的郵箱,看下有無收到郵件。

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

釋放內(nèi)存,只需要刪除/dev/shm/test 文件即可。

/ # rm -f /dev/shm/test

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

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

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

三、后記

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

相關(guān)文章

  • Linux安裝Docker詳細(xì)教程

    Linux安裝Docker詳細(xì)教程

    這篇文章介紹了Linux安裝Docker的方法,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-07-07
  • pod污點taint?與容忍度tolerations詳解

    pod污點taint?與容忍度tolerations詳解

    這篇文章主要為大家介紹了pod污點taint與容忍度tolerations示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-11-11
  • docker搭建kafka集群的方法實現(xiàn)

    docker搭建kafka集群的方法實現(xiàn)

    本文主要介紹了docker搭建kafka集群的方法實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-05-05
  • Docker-Compose創(chuàng)建mysql容器詳解

    Docker-Compose創(chuàng)建mysql容器詳解

    這篇文章主要介紹了Docker-Compose創(chuàng)建mysql容器詳解的相關(guān)資料,需要的朋友可以參考下
    2022-11-11
  • Docker部署Flask應(yīng)用的實現(xiàn)步驟

    Docker部署Flask應(yīng)用的實現(xiàn)步驟

    這篇文章主要介紹了Docker部署Flask應(yīng)用的實現(xiàn)步驟,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-03-03
  • 解決docker啟動容器失敗:cannot?access‘/docker-entrypoint-initdb.d/‘:Operation?not?permitted

    解決docker啟動容器失敗:cannot?access‘/docker-entrypoint-initdb.d/‘:

    這篇文章主要介紹了解決docker啟動容器失敗:cannot?access‘/docker-entrypoint-initdb.d/‘:Operation?not?permitted,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-05-05
  • Dockerfile 指令 ADD 和 COPY介紹

    Dockerfile 指令 ADD 和 COPY介紹

    ADD指令的功能是將主機構(gòu)建環(huán)境(上下文)目錄中的文件和目錄、以及一個URL標(biāo)記的文件 拷貝到鏡像中,COPY指令和ADD指令功能和使用方式類似。只是COPY指令不會做自動解壓工作。本文給大家介紹的非常詳細(xì),需要的朋友參考下
    2017-03-03
  • nerdctl替代docker及docker-compose的安裝使用

    nerdctl替代docker及docker-compose的安裝使用

    這篇文章主要為大家介紹了nerdctl替代docker及docker-compose的安裝使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-06-06
  • 解決docker容器啟動后馬上退出的問題

    解決docker容器啟動后馬上退出的問題

    這篇文章主要介紹了解決docker容器啟動后馬上退出的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-11-11
  • 通過Docker部署Redis 6.x集群的方法

    通過Docker部署Redis 6.x集群的方法

    這篇文章主要介紹了通過Docker部署Redis 6.x集群的方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03

最新評論

安阳县| 昌平区| 万宁市| 徐闻县| 灌南县| 长顺县| 顺昌县| 富阳市| 开平市| 新巴尔虎左旗| 仁布县| 兴安盟| 淄博市| 吐鲁番市| 武平县| 修武县| 韩城市| 隆子县| 前郭尔| 定远县| 宕昌县| 容城县| 普洱| 贵州省| 攀枝花市| 漾濞| 湖南省| 泰和县| 保定市| 肇庆市| 买车| 广水市| 正阳县| 将乐县| 师宗县| 河曲县| 平邑县| 西乌珠穆沁旗| 甘南县| 全椒县| 滨海县|