设为首页 收藏本站
查看: 4619|回复: 1

[经验分享] docker-compose(grafana influxdb) + telegraf 快速搭建简单监控

[复制链接]
累计签到:595 天
连续签到:1 天
发表于 2018-10-24 14:04:14 | 显示全部楼层 |阅读模式
灵活实现方案:  
1:     telegraf 为go 语言写得占用内存小 收集主机各项监控数据 定时写入 时序DB   influxdb ------------------------"telegraf + influxdb + grafana"
2:  也可自已用python 编写监控脚本收集主机各项数据写入   influxdb ------------------------------------------------------- "python + influxdb + grafana"

我们选第一种: 第二种我也试了 重点在python  data-type  上   int  string  写入  influxdb  db  时要注意
#主机清单 说明
172.16.1.6          #安装 telegraf  并设置配置文件 收集系统各项监控数据 然后写入远程主机(172.16.1.50) influxdb 内
172.16.1.50     #安装 docker , docker-compose  运行start-DockerCompose_grafana.sh 生成docker-compose_grafana.yml  并运行  

特别说明:   
#1, 172.16.1.50运行 docker-compose 会去docker-hub 拉取最新得 grafana images 镜像  所以必须创建 grafana 用户组
#2,grafana 镜像从4.1.2 以后容器内都是以普通用户运行 更换低版镜像并不需要在宿主机上创建grafana user   会在当前目录下生成 docker-compose-grafana.yml  docker-compose file
#172.16.1.50主机必须条件 ,  docker ,  docker-compose  
1183797-20181017010653828-312790663.png
  运行start-DockerCompose_grafana.sh 生成docker-compose_grafana.yml  并自动运行: docker-compose -f   docker-compose_grafana.yml up -d
cat start-DockerCompose_grafana.sh
[Shell] 纯文本查看 复制代码
#!/bin/bash
GRAFANA_DIR=/grafana-dir
GRAFANA_plugins=/plugins
INSPECT_NAME=`id -u grafana >> /dev/null 2>&1`
INSPECT_ID=`id 472 >>  /dev/null 2>&1 `
INSPECT_FILE=`-f ./docker-compose_grafana.yml >> /dev/null 2>&1`
function newfile () {
cat >> ./docker-compose_grafana.yml <<eof
version: '2'
services:
  grafana:
    image: grafana/grafana
    restart: always
    container_name: "grafana"
    ports:
      - 3000:3000
    volumes:
      - $GRAFANA_DIR/data:/var/lib/grafana:rw
      - $GRAFANA_DIR$GRAFANA_plugins:/var/lib/grafana/plugins:rw
      - /etc/localtime:/etc/localtime #同步宿主机和容器时间
    links:
      - influxdb
    depends_on:
      - influxdb
  influxdb:
    image: tutum/influxdb:latest
    restart: always
    container_name: "influxdb"
    environment:
      - ADMIN_USER="root"
      - INFLUXDB_INIT_PWD="237356573"
      - PRE_CREATE_DB="telegraf"
    volumes:
      - /etc/localtime:/etc/localtime
      #未做数据卷 如要保存db data 必须做数据卷
    ports:
      - 8086:8086
      - 8083:8083
EOF
}
if [ ! $INSPECT_NAME ] && [ ! $INSPECT_ID ];
then
echo "run"
groupadd -g 472 grafana && useradd -M -u 472 -g 472 grafana
mkdir -p $GRAFANA_DIR/{data,plugins}
chown -R grafana:grafana $GRAFANA_DIR
newfile
docker-compose -f ./docker-compose_grafana.yml up -d
elif[ $INSTPECT_FILE ];
docker-compose -f ./docker-compose_grafana.yml up -d
else
newfile
echo "not run grafana-DockerCompose.yml"
fi
1183797-20181021201155680-996661887.png
2:  172.16.1.6   agent 安装  telegraf  并设置配置文件

2.1下载
2、2安装
yum localinstall telegraf-0.11.1-1.x86_64.rpm -y
2.3修改配置文件:
cat  /etc/telegraf/telegrag.conf     #扩展目录 /etc/telegraf/telegrag.d/[global_tags]

[global_tags]
[agent]
  interval = "8s"
  round_interval = true
  metric_batch_size = 1000
  metric_buffer_limit = 10000
  collection_jitter = "0s"
  flush_interval = "10s"
  flush_jitter = "0s"
  precision = ""
  debug = false
  quiet = false
  logfile = ""
  hostname = ""
  omit_hostname = false
[[outputs.influxdb]]
urls = ["http://172.16.1.50:8086"]
database = "telegraf"
  retention_policy = ""
  write_consistency = "any"
  timeout = "5s"
   username = "root"
  password = "237356573"
[[inputs.net]]
interfaces = ["ens33"]
[[inputs.cpu]]
  percpu = true
  totalcpu = true
  collect_cpu_time = false
  report_active = false
[[inputs.disk]]
  ignore_fs = ["tmpfs", "devtmpfs", "devfs"]
[[inputs.diskio]]
[[inputs.kernel]]
[[inputs.mem]]
[[inputs.processes]]
[[inputs.swap]]
[[inputs.system]]
[[inputs.netstat]]

相关配置说明:https://www.jianshu.com
启动服务:   systemctl  start  Telegraf
查看相关服务是否已启动:
1183797-20181021203606971-469758241.png
登陆 http://172.16.1.50:8083   检测监控数据是否写入db
1183797-20181021204000910-1406404790.png
登陆 http://172.16.1.50:3000  配置grafana   
user:        admin             password:          admin
1183797-20181021205035759-1277544929.png
配置 grafana DB
1183797-20181021210100578-1125743778.png
填入地址   IP   因为我们已经在docker 容器内吧  db 容器  links  别名为  influxdb    所以 URL:httpd://influxdb:8086
1183797-20181021210344764-1488083925.png
导入模板  dashboard 面板   模板下载地址:https://grafana.com/dashboards/1443
1183797-20181021210850948-2107559343.png
1183797-20181021210942418-814384184.png
1183797-20181021211052412-551418269.png
最后来张大图吧      如有个别view  不显  请微调  数据源      telegraf 官网  上有各项监控数据  指标  相关配置说明  找到相关字段
1183797-20181021211504749-2102378193.png

相关资料:
官网参考地址
telegraf软件下载地址:

</eof

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-626012-1-1.html 上篇帖子: Docker初学篇视频 下篇帖子: docker入门视频 小清新易懂便宜全面
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表