1、安装prometheus普罗米修斯
官网:https://prometheus.io/download/
下载相应版本并上传到linux服务器上:
tar -zxvf prometheus-xxx
解压文件
目录结构,重点是配置文件prometheus.yml:
vi prometheus.yml
编辑配置文件,添加监听端口,这里node_exporter采集器和prometheus装在了同一台虚拟机里,默认是有9090端口监听,添加一个新的node_exporter9100监听,图中里面的红色方框。编辑完后保存重启prometheus生效。
提示:targets为数组,可以以数组形式编写多个ip地址加端口
后台启动:
nohup ./prometheus --config.file=prometheus.yml --web.enable-lifecycle &
这里多了data文件夹和nohup.out文件,data为prometheus保存数据的地方,nohup.out是后台启动输出文件,没有指定到特定的文件则默认生成的
下面的命令需要通过 --web.enable-lifecycle 参数开启 lifecycle 功能,上面启动命令已经配置
重启命令:
curl -X POST http://127.0.0.1:9090/-/reload
退出命令:
curl -X POST http://localhost:9090/-/quit
测试(localhost为我们的node_exporter采集器的端口,此时未启动):
2、安装node_exporter采集器
node-exporter用于提供linux内核的硬件以及系统指标。node_exporter安装在被监控端,默认端口是9100
官网:https://prometheus.io/download/
同理下载linux版本的并上传到被监控的服务器上,这是我是上传到同一台虚拟机里面了
这里是配置守护进程来管理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:
3、安装grafana
官网:https://grafana.com/grafana/download
官网下载速度很慢,推荐清华大学镜像:
https://mirrors.tuna.tsinghua.edu.cn/grafana/yum/rpm/
安装命令:
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
汉化教程: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并保存
2.导入模板
官网:https://grafana.com/grafana/dashboards
官网搜索模板,找到想要的模板,注意模板的描述支持的数据源,复制模板id
导入之后即可使用
监听windows
上面node_exporter是监听linux的采集器,windows的是windows_exporter
下载地址:https://github.com/prometheus-community/windows_exporter/tags
下载后在被监听的windows安装,默认端口号是9182,同理配置prometheus地址和grafana即可
附加:把Granfana仪表盘嵌入到web项目
两个需求
- 把登录页面隐藏
- 隐藏侧边栏或者头部,还有一般只是展示的话要设置权限为viewer,只允许查看
1、创建一个用户只有查看权限,即Viewer角色,前面管理员admin账户创建了一个仪表盘,要把创建的用户和admin归属到同一个组织下,才可以看见同一个组织下的仪表盘
2、匿名登录
修改grafana配置文件
vi /usr/share/grafana/conf/defaults.ini
根据情况修改下面的几处,第一个是改为true,运行匿名登录,第二个框框为组织,第三个为权限,修改完后重启grafana
如果提示有xxxx in a frame because it set ‘X-Frame-Options’ to ‘deny’.报错
修改下面allow_embedding = true
3、嵌入web项目,可以使用iframe
点击那个电脑图标按钮,观察仪表盘的url变化,发现多了&kiosk=tv或者&kiosk,通过这个来达到隐藏侧边栏和顶部导航栏的效果
注意,如果是通过分享获取的url,其存在from…to…时长限制,可以去掉
附加:嵌入进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';
}
}
2、vue传递信息