前言:
当前你们对“node本地服务器部署”大概比较注意,各位老铁们都想要分析一些“node本地服务器部署”的相关资讯。那么小编也在网上汇集了一些有关“node本地服务器部署””的相关资讯,希望兄弟们能喜欢,小伙伴们一起来学习一下吧!简介
在部署监控的时候,我们可以使用ansible批量自动化部署,只要写好ploybook即可。
在prometheus监控系统中,node_exporter 是用于获取主机指标的服务,我们可以利用ansible批量部署的优势,来部署node_exporter服务到主机上。
playbook
node_exporter是Go写的,直接使用二进制文件就可以执行,这里直接从github上下载安装,也可以替换成自己内网的地址,针对Centos6和CentOS7/8设置不同的启动服务。
vim install_node_exporter.yml
直接使用vim,就可以开始写yml文件了。
- name: 安装node_exporter hosts: "{{ hosts }}" remote_user: root vars: - node_exporter_package: "; tasks: - name: 解压安装包 unarchive: src: "{{ node_exporter_package }}" dest: /usr/local/ mode: '0755' remote_src: yes - name: 创建软链接 file: src: /usr/local/node_exporter-1.0.1.linux-amd64 dest: /usr/local/node_exporter state: link - name: 安装系统服务(sysv) blockinfile: path: /etc/init.d/node_exporter create: yes mode: '0755' block: | #!/bin/bash RETVAL=0 PROG="node_exporter" EXEC="/usr/local/node_exporter/node_exporter" LOCKFILE="/var/lock/subsys/$PROG" OPTIONS="" # Source function library. if [ -f /etc/rc.d/init.d/functions ]; then . /etc/rc.d/init.d/functions else echo "/etc/rc.d/init.d/functions does not exist" exit 0 fi start() { if [ -f $LOCKFILE ] then echo "$PROG is already running!" else echo -n "Starting $PROG: " nohup $EXEC $OPTIONS >/dev/null 2>&1 & RETVAL=$? [ $RETVAL -eq 0 ] && touch $LOCKFILE && success || failure echo return $RETVAL fi } stop() { echo -n "Stopping $PROG: " killproc $EXEC RETVAL=$? [ $RETVAL -eq 0 ] && rm -r $LOCKFILE && success || failure echo } restart () { stop sleep 1 start } case "$1" in start) start ;; stop) stop ;; status) status $PROG ;; restart) restart ;; *) echo "Usage: $0 {start|stop|restart|status}" exit 1 esac exit $RETVAL when: ansible_distribution_major_version == "6" - name: 安装系统服务(systemd) blockinfile: path: /usr/lib/systemd/system/node_exporter.service create: yes mode: '0755' block: | [Unit] Description=Node Exporter [Service] WorkingDirectory=/usr/local/node_exporter/ ExecStart=/usr/local/node_exporter/node_exporter --web.config=/usr/local/node_exporter/node_exporter.yml [Install] WantedBy=multi-user.target when: ansible_distribution_major_version == "7" or ansible_distribution_major_version == "8" - name: 启动服务 service: name: node_exporter state: restarted enabled: yes总结
让运维更高效!
版权声明:
本站文章均来自互联网搜集,如有侵犯您的权益,请联系我们删除,谢谢。
标签: #node本地服务器部署