评论

收藏

[Linux] #导入MD文档图片# Grafana+Prometheus+Loki 监控及收集日志

服务系统 服务系统 发布于:2021-08-06 11:38 | 阅读数:327 | 评论:0

Prometheus 是一款基于时序数据库的开源监控告警系统,是下一代云监控系统的首要选择,Loki是 Grafana Labs 团队发布的开源项目,是一个水平可扩展,高可用性,多租户的日志聚合系统,二者与Grafana结合,可以实现将服务器、容器监控与收集日志集中到一个平台,方便运维人员使用,本文将演示部署demo,具体概念请读者自行百度,实际使用是需结合客观情况进行部署。
Grafana
1.安装

  • 下载安装
#官网(https://grafana.com/)下载并安装,使用yum安装rpm包可以自动解决依赖
yum install -y grafana-8.0.6-1.x86_64.rpm

  • 启动
systemctl enable   grafana-server.service
systemctl start   grafana-server.service
2.访问
http://ip:3000
<br><h1>默认密码admin/admin


Prometheus
1.安装prometheus

  • 解压
tar -xvf prometheus-2.28.1.linux-amd64.tar.gz 
mv prometheus-2.28.1.linux-amd64 /usr/local/prometheus

  • 配置systemctl启动
vim /etc/systemd/system/prometheus.service
<p>[Unit]</p>
<p>Description=Prometheus Monitoring System</p>
<p>Documentation=Prometheus Monitoring System</p>
<p>[Service]</p>
<p>ExecStart=/usr/local/prometheus/prometheus \</p>
<p>--config.file=/usr/local/prometheus/prometheus.yml \</p>
--web.listen-address=:9090

  • 配置自启
systemctl enable prometheus
systemctl start prometheus

  • 访问
http://ip:9090
DSC0000.png

2.安装node_exporter
node_exporter安装在需要监控的服务器

  • 解压
tar -xvzf node_exporter-1.2.0.linux-amd64.tar.gz
mv node_exporter-1.2.0.linux-amd64/  /usr/local/node_exporter

  • 配置systemctl启动
vim /etc/systemd/system/node_exporter.service
<p>[Unit]</p>
<p>Description=node exporter</p>
<p>Documentation=node exporter</p>
<p>[Service]</p>
<p>ExecStart=/usr/local/node_exporter/node_exporter</p>
<p>[Install]</p>
WantedBy=multi-user.target

  • 配置自启
systemctl enable node_exporter
systemctl start node_exporter

  • 查看信息
http://ip:9100/metrics
3.修改prometheus配置添加监控
vim /usr/local/prometheus/prometheus.yml
<p>- job_name: 'prometheus'</p>
<p># metrics_path defaults to '/metrics'</p>
<p># scheme defaults to 'http'.</p>
<p>static_configs:</p>
<ul>
<li>targets: ['localhost:9090']  #添加node_exporter</li></ul>
4.结合cadvisor 监控docker
cadvisor支持http界面,方便prometheus 进行数据采集。

  • 拉取镜像
docker pull google/cadvisor

  • 启动
docker pull google/cadvisor
<p>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=18080:8080 --detach=true --name=cadvisor google/cadvisor</p>
http://ip:18080/

  • 在prometheus添加
vim /usr/local/prometheus/prometheus.yml
<ul>
<li>job_name: 'container'</li></ul>
<p>static_configs:</p>
<ul>
<li>targets: ['ip:18080']
5.添加数据

  • 登录Grafana选择Data sources > Add Data source > Prometheus > Save & test添加URL并保存
DSC0001.png

DSC0002.png

6.添加Grafana模板
DSC0003.png

DSC0004.png

7.注意

  • 服务器使用 8919模板
  • docker 使用 13112 模板

    • 需要注意的是13112模板需要添加变量 job,在dashboard界面点击右上角齿轮>Variable>New添加
    DSC0005.png


    • 更改无法显示的监控项中的语句,将job改成job="$job",即可正常显示
    DSC0006.png


DSC0007.png


  • prometheus和node_exporter都可以使用dokcer部署,概念相通。
Loki
1.安装

  • 下载配置文件
mkdir -p /opt/loki
<p>cd /opt/loki</p>
<p>wget https://raw.githubusercontent.com/grafana/loki/v2.2.1/cmd/loki/loki-local-config.yaml -O loki-config.yaml</p>
wget https://raw.githubusercontent.com/grafana/loki/v2.2.1/cmd/promtail/promtail-docker-config.yaml -O promtail-config.yaml

  • 拉取镜像
docker pull  grafana/loki:2.2.1
docker pull  grafana/promtail:2.2.1

  • 启动
#启动loki
docker run -v /opt/loki/:/mnt/config -p 31000:3100 -itd  grafana/loki:2.2.1 -config.file=/mnt/config/loki-config.yaml<br><h1>启动promtail</h1><br>
docker run -v /opt/loki/:/mnt/config -v /var/log:/var/log -itd grafana/promtail:2.2.1 -config.file=/mnt/config/promtail-config.yaml
2.访问
#查看数据
http://ip:31000/metrics<br><h1>查看启动状态</h1><br>
http://ip:31000/ready
3.指定收集日志方式
#修改完成之后重启docker即可
<p>vim /opt/loki/promtail-config.yaml</p>
<p>scrape_configs:</p>
<ul>
<li>job_name: system</li></ul>
<p>static_configs:</p>
<p>- targets:</p>
<p>- localhost</p>
<p>labels:</p>
<p>job: varlogs</p>
<p>host: 127.0.0.1  #标签</p>
    __path__: /var/log/messages  #要收集的日志
4.收集docker日志

  • 下载插件
docker plugin install grafana/loki-docker-driver:latest --alias loki --grant-all-permissions
docker plugin ls

  • 修改docker配置
vim /etc/docker/daemon.json
<p>
{</p>
<p>"debug" : true,</p>
<p>"log-driver": "loki",</p>
<p>"log-opts": {</p>
<p>"loki-url": "http://ip:31000/loki/api/v1/push",</p>
<p>"loki-batch-size": "400"</p>
<p> }</p>
}
注:安装完之后需要将旧容器删除之后 重新启动,不然无法显示日志
5.添加数据
同prometheus,更改URL即可
DSC0008.png

6.查询
Expoler > 选择数据源 >选择标签
DSC0009.png


关注下面的标签,发现更多相似文章