docker-compose(grafana influxdb) + telegraf 快速搭建简单监控
灵活实现方案:
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
相关文档:http://docs.grafana.org/installation/docker/#installing-using-docker
#172.16.1.50主机必须条件 , docker , docker-compose

运行start-DockerCompose_grafana.sh 生成docker-compose_grafana.yml 并自动运行: docker-compose -f docker-compose_grafana.yml up -d
cat start-DockerCompose_grafana.sh
#!/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

2: 172.16.1.6 agent 安装 telegraf 并设置配置文件
2.1下载
wget http://get.influxdb.org/telegraf/telegraf-0.11.1-1.x86_64.rpm
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
查看相关服务是否已启动:

登陆 http://172.16.1.50:8083 检测监控数据是否写入db

登陆 http://172.16.1.50:3000 配置grafana
user: admin password: admin

配置 grafana DB

填入地址 IP 因为我们已经在docker 容器内吧 db 容器 links 别名为 influxdb 所以 URL:httpd://influxdb:8086

导入模板 dashboard 面板 模板下载地址:https://grafana.com/dashboards/1443



最后来张大图吧 如有个别view 不显 请微调 数据源 telegraf 官网 上有各项监控数据 指标 相关配置说明 找到相关字段

相关资料:
官网参考地址
https://docs.influxdata.com/telegraf/v0.11/
telegraf软件下载地址:
https://influxdata.com/downloads/
docker-compose(grafana influxdb) + telegraf 快速搭建简单监控的更多相关文章
- Telegraf+InfluxDB+Grafana快速搭建实时监控系统 监控postgresql
Telegraf+InfluxDB+Grafana快速搭建实时监控系统 监控postgresql
- Grafana+Influxdb+Telegraf监控mysql
Grafana+Influxdb+Telegraf监控mysql 一.安装 1.1安装Grafana+influxdb+telegraf 1.2启动服务,添加开机启动 1.3查看grafana界面 二 ...
- 拿nodejs快速搭建简单Oauth认证和restful API server攻略
拿nodejs快速搭建简单Oauth认证和restful API server攻略:http://blog.csdn.net/zhaoweitco/article/details/21708955 最 ...
- grafana + influxdb + telegraf
grafana + influxdb + telegraf , 构建性能监控平台http://www.cnblogs.com/Scissors/p/5977670.html https://docs. ...
- 使用Django快速搭建简单的数据管理后台
使用Django快速搭建简单的数据管理后台 概述 需求描述: 数据表已建好,能可视化操作增删改查,避免直接操作数据库 简版的管理系统 环境 Windows 10 x64 Python 3.6.3 (A ...
- grafana+influxdb+telegraf监控服务器cpu,内存和硬盘
随便抄了一篇,目前我们的项目也在用,这个是linux和windows通吃的一种监控方案,非常有效,详细和优美,需要监控什么具体的业务内容,自己向influxdb中插入就行了. 监控服务器状态是运维必不 ...
- Docker Compose部署GitLab服务,搭建自己的代码托管平台(图文教程)
场景 Docker-Compose简介与Ubuntu Server 上安装Compose: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/deta ...
- 使用Node.js快速搭建简单的静态文件服务器
做前端有时会采用一些复杂框架,在文件系统中直接打开页面(用file:///方式打开),往往会报跨域的错,类似于“XMLHttpRequest cannot load ...(文件名). Cross o ...
- 用pytorch1.0快速搭建简单的神经网络
用pytorch1.0搭建简单的神经网络 import torch import torch.nn.functional as F # 包含激励函数 # 建立神经网络 # 先定义所有的层属性(__in ...
随机推荐
- Java--对象与类(二)
final 实例域 可以将实例域定义为final.构建对象时必须初始化这样的域.也就是说在一个构造器执行之后,这个域被设置,并且之后无法对其修改 final 修饰符大多应用于基本(primitive) ...
- 学习笔记(11)- 文本生成RNNLG
https://github.com/shawnwun/RNNLG 数据集 给出了4个行业的语料,餐馆.酒店.电脑.电视,及其组合数据. 数据格式 任务 根据给定格式的命令,生成自然语言. 方法.模型 ...
- nacos 日志问题 ERR-CODE: [NACOS-0002], Type: [环境问题]
nacos配置中心配置后,项目启动正常,运行项目也正常,但是总是打印如下日志: 2019-10-11 15:44:09.792 [com.alibaba.nacos.client.Worker.lon ...
- Systemverilog for design 笔记(三)
转载请标明出处 用户自定义和枚举数据类型 1. 用户自定义类型(typedef) 局部typedef定义:只用于设计的特定部分时,typedef的定义可在module或interface中 共享typ ...
- Linux centosVMware iptables规则备份和恢复、firewalld的9个zone、firewalld关于zone的操作、firewalld关于service的操作
一.iptables规则备份和恢复 保存和备份iptables规则 service iptables save //会把规则保存到 /etc/sysconfig/iptables 把iptables规 ...
- 使用IDEA查看数据库
emm...今天捣鼓了一下IDEA意外发现(原谅我后知后觉)不用Navicat也能查看数据库中的表,虽然可视化不如Navicat,但毕竟Navicat要钱,一些朋友也没有资源 = =,所以就记录并分享 ...
- Charles + Android 抓取Https数据包 (适用于Android 6.0及以下)
通过Charles代理,我们能很轻易的抓取手机的Http请求,因为Http属于明文传输,所以我们能直接获取到我们要抓取的内容.但是Https内容本身就是加密的,这时我们会发现内容是加密的了.本文我们来 ...
- LauUI 的学习
LayUI学习笔记 layer laydate layui 学习新技术方法:学习一个新技术,要去把它的文档通读一遍,不管你能不能读明白,就算你不明白也大概能知道它是怎么回事了,一回生二回熟,多读几遍, ...
- Centos7 VNC远程桌面服务安装配置
1.服务器版本 CentOS Linux release 7.7.1908 (Core) 首先系统安装了GUI界面 # ln -sf /lib/systemd/system/graphical.tar ...
- HashMap1.8之节点删除分析
HashMap之节点删除 大家一直关注的都是HashMap如何添加节点,当节点数量大于8的时候转化为红黑树,否则使用链表等等,但大家是否有看过删除节点的处理逻辑呢? 今天来看看HashMap删除节点的 ...