云计算运维

Windows Server 2003 - Windows Server 2019 系统工具,Linux系统脚本,Mysql、Nginx、PHP、Redis、K8S、Seafile、Weblogic 、Jenkins、DNS、DHCP、FTP、IIS、Zookeeper、Rabbitmq、Oracle、Tomcat、Mavrn等服务搭建维护,请关注我.

Prometheus+Grafana搭建


1.安装grafana

Grafana 是一个可视化工具,简单点说就是用来展示数据的。它和Zabbix、Prometheus 有本质区别,在于它不能解决监控问题,仅用于展示。也就是说,在监控领域,Grafana 需要配合 Zabbix、Prometheus 等工具一起使用,以获取数据源。

安装grafana,可以采用传统或是docker方式安装,我这里使用docker来部署。部署前创建一个用于数据持久化的文件夹:

mkdir -p /opt/docker/grafana
chmod 777 /opt/docker/grafana

注:如果不赋予持久化文件夹权限,可能会报权限问题

mkdir: can't create directory '/var/lib/grafana/plugins': Permission denied

使用以下命令安装部署:

docker run -d \
-p 3000:3000 \
--name=grafana \
--restart=always \
--privileged=true \
-v /opt/docker/grafana:/var/lib/grafana \
grafana/grafana

安装完成后,使用http://ip:3000,将ip改为你服务器的网址,使用浏览器访问:

默认初始账号为admin/admin,登录后会要求你更改密码。这样我们就把grafana的环境给部署好了,待后面进行配置。

2.安装prometheus

Prometheus 是一款基于时序数据库的开源监控告警系统。prometheus也可以使用传统二进制或是docker安装,为了便于配置,我这里使用传统的方式部署。

首先从官网下载最新的prometheus安装包:

wget https://github.com/prometheus/prometheus/releases/download/v2.36.1/prometheus-2.36.1.linux-amd64.tar.gz

解压:

tar -xf prometheus-2.36.1.linux-amd64.tar.gz && mv prometheus-2.36.1.linux-amd64 /usr/local/prometheus

创建启动脚本:

vim /usr/lib/systemd/system/prometheus.service

将下面的内容粘贴进去:

[Unit]
Description=The Prometheus Server
After=network.target

[Service]
Restart=on-failure
ExecStart=/usr/local/prometheus/prometheus --config.file=/usr/local/prometheus/prometheus.yml
RestartSec=15s

[Install]
WantedBy=multi-user.target

如果需要指定端口运行,可以在ExecStart后指定端口,格式如下,默认为9090:

 --web.listen-address=:8001

最后保存退出,设置启动和开机启动,查看程序运行状态:

systemctl daemon-reload
systemctl start prometheus
systemctl enable prometheus
systemctl status prometheus

启动日志如果像我一样则运行成功。

3.安装node-exporter

官网下载node-exporter:

wget  https://github.com/prometheus/node_exporter/releases/download/v1.3.1/node_exporter-1.3.1.linux-amd64.tar.gz

解压:

tar -xf node_exporter-1.3.1.linux-amd64.tar.gz 
mv node_exporter-1.3.1.linux-amd64 /usr/local/node_exporter

设置开机启动:

vim /usr/lib/systemd/system/node_exporter.service

将下面内容粘贴进去,保存退出:

[Unit]
Description=The Prometheus Node_Exporter
After=network.target

[Service]
Restart=on-failure
ExecStart=/usr/local/node_exporter/node_exporter --web.listen-address=:9100
RestartSec=15s

[Install]
WantedBy=multi-user.target

启动并设置开机启动:

systemctl daemon-reload
systemctl start node_exporter
systemctl enable node_exporter
systemctl status node_exporter

4.配置prometheus

这里主要去配置prometheus去拉取node_exporter的数据,相同的数据可以放到同一组下。

vim /usr/local/prometheus/prometheus.yml

按照如上的格式配置,注意缩进。其中job_name可以任意,targets填写node_exporter的地址。修改好后保存退出。

重启prometheus使配置生效:

systemctl restart prometheus

5.配置grafana

grafana配置数据源和可视化模版来展示采集到的prometheus数据,登录后点击Data sources。

添加一个Prometheus的数据源,点击Select 选择:

其它配置保持默认,最后点击Save & test

完了之后,导入一个可视化面板:

https://grafana.com/grafana/dashboards/

然后填入8919,然后点击load,如果是监控windows,使用10467。

  • 分享:
评论
还没有评论
    发表评论 说点什么