Prometheus+Grafana监控linux和window

1、安装prometheus普罗米修斯

官网:https://prometheus.io/download/
下载相应版本并上传到linux服务器上:
Prometheus+Grafana监控linux和window_第1张图片

tar -zxvf prometheus-xxx 解压文件

在这里插入图片描述
目录结构,重点是配置文件prometheus.yml:
Prometheus+Grafana监控linux和window_第2张图片

vi prometheus.yml
编辑配置文件,添加监听端口,这里node_exporter采集器和prometheus装在了同一台虚拟机里,默认是有9090端口监听,添加一个新的node_exporter9100监听,图中里面的红色方框。编辑完后保存重启prometheus生效。
提示:targets为数组,可以以数组形式编写多个ip地址加端口
Prometheus+Grafana监控linux和window_第3张图片

后台启动:

 nohup ./prometheus  --config.file=prometheus.yml --web.enable-lifecycle &

这里多了data文件夹和nohup.out文件,data为prometheus保存数据的地方,nohup.out是后台启动输出文件,没有指定到特定的文件则默认生成的
Prometheus+Grafana监控linux和window_第4张图片

下面的命令需要通过 --web.enable-lifecycle 参数开启 lifecycle 功能,上面启动命令已经配置

重启命令:
curl -X POST http://127.0.0.1:9090/-/reload
 退出命令:
curl -X POST http://localhost:9090/-/quit

测试(localhost为我们的node_exporter采集器的端口,此时未启动):
Prometheus+Grafana监控linux和window_第5张图片

2、安装node_exporter采集器

node-exporter用于提供linux内核的硬件以及系统指标。node_exporter安装在被监控端,默认端口是9100
官网:https://prometheus.io/download/
同理下载linux版本的并上传到被监控的服务器上,这是我是上传到同一台虚拟机里面了Prometheus+Grafana监控linux和window_第6张图片
Prometheus+Grafana监控linux和window_第7张图片
这里是配置守护进程来管理node_exporter,也可以直接使用命令(nohup ./node_exporter &)启动

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

[Unit]
Description=node_exporter
Documentation=https://prometheus.io/docs/introduction/overview
After=network-online.target remote-fs.target nss-lookup.target
Wants=network-online.target

[Service]
Type=simple
PIDFile==/var/run/node_exporter.pid
ExecStart=/usr/local/monitor/node_exporter-1.0.1.linux-amd64/node_exporter
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s TERM $MAINPID

[Install]
WantedBy=multi-user.target[Unit]

配置完后重新加载配置

systemctl daemon-reload

启动命令: systemctl start node_exporter
重启: systemctl restart node_exporter

Prometheus+Grafana监控linux和window_第8张图片
测试:
Prometheus+Grafana监控linux和window_第9张图片
结合prometheus:
Prometheus+Grafana监控linux和window_第10张图片

3、安装grafana

官网:https://grafana.com/grafana/download
官网下载速度很慢,推荐清华大学镜像:
https://mirrors.tuna.tsinghua.edu.cn/grafana/yum/rpm/
Prometheus+Grafana监控linux和window_第11张图片

安装命令:
rpm -ivh grafana-6.7.4-1.x86_64.rpm 
查看安装:
rpm -q grafana
卸载:
rpm -e grafana
启动和停止命令:
systemctl start grafana-server
systemctl stop grafana-server

默认端口3000,默认账号密码admin/admin
Prometheus+Grafana监控linux和window_第12张图片
汉化教程:https://github.com/tghfly/grafana-chinese
注意:汉化完要给权限 chmod 777 /usr/sbin/grafana-server

替换bin目录下的这两个文件和public目录
/bin/cp -rp bin/linux-amd64/grafana-server /usr/sbin/
/bin/cp -rp bin/linux-amd64/grafana-cli /usr/sbin/
/bin/cp -rp public /usr/share/grafana/

简单使用:
1.添加prometheus数据源,配属url并保存
Prometheus+Grafana监控linux和window_第13张图片
Prometheus+Grafana监控linux和window_第14张图片
Prometheus+Grafana监控linux和window_第15张图片
2.导入模板
官网:https://grafana.com/grafana/dashboards
官网搜索模板,找到想要的模板,注意模板的描述支持的数据源,复制模板idPrometheus+Grafana监控linux和window_第16张图片
Prometheus+Grafana监控linux和window_第17张图片
Prometheus+Grafana监控linux和window_第18张图片
导入之后即可使用
Prometheus+Grafana监控linux和window_第19张图片

监听windows

上面node_exporter是监听linux的采集器,windows的是windows_exporter
下载地址:https://github.com/prometheus-community/windows_exporter/tags
下载后在被监听的windows安装,默认端口号是9182,同理配置prometheus地址和grafana即可
Prometheus+Grafana监控linux和window_第20张图片

附加:把Granfana仪表盘嵌入到web项目

两个需求

  • 把登录页面隐藏
  • 隐藏侧边栏或者头部,还有一般只是展示的话要设置权限为viewer,只允许查看

1、创建一个用户只有查看权限,即Viewer角色,前面管理员admin账户创建了一个仪表盘,要把创建的用户和admin归属到同一个组织下,才可以看见同一个组织下的仪表盘
Prometheus+Grafana监控linux和window_第21张图片
2、匿名登录
修改grafana配置文件

vi /usr/share/grafana/conf/defaults.ini

根据情况修改下面的几处,第一个是改为true,运行匿名登录,第二个框框为组织,第三个为权限,修改完后重启grafana
Prometheus+Grafana监控linux和window_第22张图片
如果提示有xxxx in a frame because it set ‘X-Frame-Options’ to ‘deny’.报错
修改下面allow_embedding = true
Prometheus+Grafana监控linux和window_第23张图片
3、嵌入web项目,可以使用iframe
点击那个电脑图标按钮,观察仪表盘的url变化,发现多了&kiosk=tv或者&kiosk,通过这个来达到隐藏侧边栏和顶部导航栏的效果
Prometheus+Grafana监控linux和window_第24张图片
注意,如果是通过分享获取的url,其存在from…to…时长限制,可以去掉
Prometheus+Grafana监控linux和window_第25张图片

附加:嵌入进web的仪表盘可以隐藏左侧菜单栏

1、隐藏左侧菜单栏,修改源代码
原文件:

/usr/share/grafana/public/views/index.html

  // 监听事件,隐藏左侧菜单栏
      window.addEventListener("message", receiveMessage, false);
      function receiveMessage(event) {
        if (event.data.showMenu === false) {
          document.querySelector('sidemenu').style.display = 'none';
        }
      }

Prometheus+Grafana监控linux和window_第26张图片
2、vue传递信息
Prometheus+Grafana监控linux和window_第27张图片

你可能感兴趣的:(linux,服务器,运维)