最近的工作需要大量监控服务器以及收集日志,之前的zabbix已经有点不是很好用了,于是换成了Grafana。之前也写了一些安装部署的文章,此文章仅作为脚本的记录。
批量安装监控节点
代码登录后可见
批量安装日志节点
代码登录后可见
批量改名分组
代码登录后可见
—
操作手册
服务器监控安装方法:
![](file:///C:/Users/summer/AppData/Local/Temp/msohtmlclip1/01/clip_image001.png)
内含3个脚本
脚本需要配合servers.txt使用
将需要添加监控和日志的服务器IP地址放入servers.txt内
按以下格式填入:
![](file:///C:/Users/summer/AppData/Local/Temp/msohtmlclip1/01/clip_image002.png)
IP地址,端口号,root,密码
确认文本格式为Unix,不能是Windows
![](file:///C:/Users/summer/AppData/Local/Temp/msohtmlclip1/01/clip_image003.png)
如果不对的话,在服务器内安装dos2unix
代码登录后可见
代码登录后可见
![](file:///C:/Users/summer/AppData/Local/Temp/msohtmlclip1/01/clip_image004.png)
输入 代码登录后可见
![](file:///C:/Users/summer/AppData/Local/Temp/msohtmlclip1/01/clip_image005.png)
执行 代码登录后可见
代码登录后可见
没权限的话 代码登录后可见
直接等跑完即可,如果有报错的几台机器单独重新跑一下,脚本会删除掉文件重新运行。
配置解释
![](file:///C:/Users/summer/AppData/Local/Temp/msohtmlclip1/01/clip_image007.jpg)
批量安装监控节点脚本不需要修改内容,配置好servers.txt直接执行即可。
然后要到/root/prometheus-2.53.0-rc.0.linux-amd64/prometheus.yml
修改这个文件
![](file:///C:/Users/summer/AppData/Local/Temp/msohtmlclip1/01/clip_image009.jpg)
可选(修改分组)
批量修改服务器分组,在监控日志内可以详细分组,例如新加坡/香港分组。或者上架/下架分组
需要先修改 批量改名分组.py
![](file:///C:/Users/summer/AppData/Local/Temp/msohtmlclip1/01/clip_image011.jpg)
只需要修改这个部分就可以了
然后运行,会通过读取servers.txt来修改并且重启服务。
这个脚本没有设置删除信息,而是追加,不要重复执行脚本,否则机器会多出很多分组。如果误操作,需要到误操作的机器内删除信息
![](file:///C:/Users/summer/AppData/Local/Temp/msohtmlclip1/01/clip_image012.png)
删除多余内容:
![](file:///C:/Users/summer/AppData/Local/Temp/msohtmlclip1/01/clip_image014.jpg)
保存后重启服务
代码登录后可见
后台检查是否正常
[链接登录后可见]
用户名admin
密码admin
![](file:///C:/Users/summer/AppData/Local/Temp/msohtmlclip1/01/clip_image015.png)
![](file:///C:/Users/summer/AppData/Local/Temp/msohtmlclip1/01/clip_image017.jpg)添加查询参数查询
![](file:///C:/Users/summer/AppData/Local/Temp/msohtmlclip1/01/clip_image019.jpg)
或者
使用 Loki API 查询所有标签
Loki 提供了一个 HTTP API 端点,可以用来查询所有标签。标签通常包含主机名或 IP 地址等信息。使用以下步骤来查询所有标签:
- 列出所有标签: 使用 curl 或类似的 HTTP 客户端查询 Loki 的标签:
curl -s “http://<LOKI_SERVER>:3100/loki/api/v1/labels”
这个命令会返回所有标签的列表。
- 查询特定标签的值: 如果知道某个标签是用于标识服务器的(例如 host 或 instance),可以查询该标签的所有值:
curl -s “http://<LOKI_SERVER>:3100/loki/api/v1/label/<LABEL_NAME>/values”
例如,如果标签名称是 host:这会返回所有 代码登录后可见 标签的值列表,即所有服务器的 IP 地址。
curl -s “http://<LOKI_SERVER>:3100/loki/api/v1/label/host/values”
![](file:///C:/Users/summer/AppData/Local/Temp/msohtmlclip1/01/clip_image021.jpg)