监控linux主机,docker容器,mysql
配置基础环境
wget https://storage.googleapis.com/golang/go1.8.3.linux-amd64.tar.gz
tar -C /usr/local -xzf go1.8.3.linux-amd64.tar.gz
echo "export PATH=$PATH:/usr/local/go/bin" >>/etc/profile
source /etc/profile
go version #查看版本
被监控端下载安装Node exporter:
wget https://github.com/prometheus/node_exporter/releases/download/v1.0.1/node_exporter-1.0.1.linux-amd64.tar.gz
tar xvfz node_exporter-1.0.1.linux-amd64.tar.gz -C /usr/local
cd /usr/local
mv node_exporter-1.0.1.linux-amd64/ node_exporter
groupadd prometheus #创建用户组
useradd -g prometheus -s /sbin/nologin prometheus #创建用户禁止登录
chown -Rf prometheus:prometheus /usr/local/node_exporter #更改权限
cat > /usr/lib/systemd/system/node_exporter.service <<'EOF'
Description= node_exporter
Documentation=https://prometheus.io
After=network.target
[Service]
Type=simple
User=prometheus
ExecStart=/usr/local/node_exporter/node_exporter
Restart=on-failure
[Install]
WantedBy=multi-user.target
EOF
systemctl daemon-reload #加载systemd
systemctl restart node_exporter
web页面 输入IP:9100
出现下列数据就对了
http://被监控端IP:9100/metrics 可以查看到node_exporter在被监控端收集的监控信息,回到prometheus服务器的配置文件里添加被监控机器的配置段
server端配置
如果不停服务发现被监控主机
vim /usr/local/prometheus/prometheus.yml #更改配置文件,末尾追加
- job_name: 'node'
file_sd_configs:
- refresh_interval: 10s
files:
- "/usr/local/prometheus/sd_config/*.yml"
./promtool check config prometheus.yml #检查配置文件
添加被监控主机信息
mkdir /usr/local/prometheus/sd_config
vim /usr/local/prometheus/sd_config/node.yml
- targets:
- 172.18.0.11:9100
labels:
app: manager
instance: centos
service: node_exporter
- targets:
- 172.18.0.11:9100
labels:
app: node1
instance: centos-node1
service: node_exporter
之后就不用重启了,更改node.yml配置文件就可以实现发现主机了
检查
通过localhost:9090访问页面,点击导航栏中的status->targets
监控docker 容器
需要启动Cadvisor
按照下面脚本启动个Cadvisor,把容器的8080映射到你server的9092端口
vi cadvisor-start.sh
docker run \
--volume=/:/rootfs:ro \
--volume=/var/run:/var/run:rw \
--volume=/sys:/sys:ro \
--volume=/var/lib/docker/:/var/lib/docker:ro \
--volume=/dev/disk/:/dev/disk:ro \
--publish=9092:8080\
--detach=true \
--name=cadvisor \
google/cadvisor:latest
chmod +x cadvisor-start.sh
./cadvisor-start.sh
在监控文件里添加监控
- targets:
- 你的IP:9092
labels:
app: Cadvisor
instance: centos
service: node_exporter
去控制台刷新页面
这里出现了,就可以在grafana下载10566模板
查看数据
监控mysql
下载mysqld_exporter
在mysql创建用户
grafana 使用7362模板