Ansible部署Node_exporter
本文分享自天翼云开发者社区《Ansible部署Node_exporter》,作者:SummerSnow
一、简介
Ansible是基于Python开发的自动化运维工具,集合了众多运维工具(puppet、cfengine、chef、func、fabric)的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。
Exporter是Prometheus的指标数据收集组件,而node_exporter就是我们常用的其中之一,它主要用于采集类UNIX内核的硬件以及系统指标,如磁盘、cpu、内存等信息。
二、环境说明
#操作系统版本
[root@XXXXX][~]
$cat /etc/redhat-release
CentOS Linux release 7.7.1908 (Core) #Ansible版本
ansible 2.9.25
#node-exporter版本
node_exporter-1.2.2
#环境说明:本操作未涉及容器化部署,同时在centos 7环境进行部署
三、安装Ansible
#上传已经准备好的的安装包(内网环境)
[root@XXXXX ~] tar -zxvf ansible.tar.gz #使用下面的命令进行安装(yum本地安装)
[root@XXXXX ~]# yum localinstall *.rpm -y #查看ansible版本
[root@XXX][~]
$ansible --version
ansible 2.9.25
config file = /etc/ansible/ansible.cfg
configured module search path = [u'/root/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']
四、使用Ansible部署node_exporter
1)填写需要部署的主机清单host
#如果机器之间已经做了免密,那就去掉ansible_ssh_pass改配置,多台机器直接追加就行
[root@XXXXXX][~]
$vim host
[node]
XX.XX ansible_ssh_user=XXX ansible_ssh_pass="XXXXXX"
XX.XX ansible_ssh_user=XXX ansible_ssh_pass="XXXXXX"
2)编写Ansible的剧本文件node_exporter.yml
---
- hosts: node
gather_facts: yes
become: yes
become_method: sudo
become_user: root
tasks:
- name: 添加prometheus用户
user:
name: prometheus
password: "{{ 'XXXXX' | password_hash('sha512') }}"
home: /home/prometheus - name: 创建node_exporter_script目录
file:
path: /home/prometheus/node_exporter_script
state: directory
mode: '0755'
owner: prometheus
group: prometheus - name: 创建node_exporter_textfile目录
file:
path: /home/prometheus/node_exporter_textfile
state: directory
mode: '0755'
owner: prometheus
group: prometheus - name: 安装CentOS7的node_exporter
unarchive: src=node_exporter-1.2.2.linux-amd64.tar.gz dest=/home/prometheus mode='0755' owner=prometheus group=prometheus
when:
- ansible_distribution == "CentOS"
- ansible_distribution_major_version == "7" - name: 添加CentOS7的node_exporter服务
copy: src=prometheus_node_exporter.service dest=/usr/lib/systemd/system/prometheus_node_exporter.service
when:
- ansible_distribution == "CentOS"
- ansible_distribution_major_version == "7" - name: 开启centos7的prometheus_node_exporter服务并设置开机自启动
systemd:
name: prometheus_node_exporter
daemon_reload: yes
state: restarted
enabled: yes
when:
- ansible_distribution == "CentOS"
- ansible_distribution_major_version == "7"
3)编写node-exporter的注册服务文件
[root@XXX][~]
$vim prometheus_node_exporter.service
[Unit]
Description=Prometheus node_exporter
Requires=network.target remote-fs.target
After=network.target remote-fs.target [Service]
Type=simple
User=prometheus
Group=prometheus
ExecStart=/home/prometheus/node_exporter-1.2.2.linux-amd64/node_exporter --collector.textfile.directory=/home/prometheus/node_exporter_textfile
ExecReload=/bin/kill -HUP $MAINPID
KillMode=process
Restart=on-failure
RestartSec=5s [Install]
WantedBy=multi-user.target
4)命令执行
[root@XXX ~]
$ansible-playbook node_exporter.yml -i host
5)服务验证
#验证目标端口是否开启
[root@XXXXX ~]
$telnet 目标主机 9100
至此,使用Ansible部署node-exporter完成。
Ansible部署Node_exporter的更多相关文章
- 001.Ansible部署RHCS存储集群
一 前期准备 1.1 前置条件 至少有三个不同的主机运行monitor (MON)节点: 至少三个直接存储(非外部SAN硬件)的OSD节点主: 至少两个不同的manager (MGR)节点: 如果使用 ...
- 使用Ansible部署etcd 3.2高可用集群
之前写过一篇手动搭建etcd 3.1集群的文章<etcd 3.1 高可用集群搭建>,最近要初始化一套新的环境,考虑用ansible自动化部署整套环境, 先从部署etcd 3.2集群开始. ...
- ansible部署,规划
部署管理服务器 第一步:先检查有没有ssh服务 [root@iZm5eeyc1al5vzh8bo57zyZ ~]# rpm -qf /etc/init.d/sshd openssh-server-5. ...
- CentOS7.5 -- Ansible部署与应用
第1章 Ansible概述 Ansible是一个配置管理系统configuration management system python 语言是运维人员必须会的语言 ansible 是一个基于pyth ...
- 使用ansible部署CDH 5.15.1大数据集群
使用ansible离线部署CDH 5.15.1大数据集群 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 在此之前,我之前分享过使用shell自定义脚本部署大数据集群,不管是部署CD ...
- SSH与ansible 部署方法与核心模块简介
SSH与ansible 部署方法 部署环境 管理服务器 172.16.1.61 NFS服务器 172.16.1.31 备份服务器 172.16.1.41 1检查SSH服务是否运行并开启服务 netst ...
- 003 ansible部署ceph集群
介绍:在上一次的deploy部署ceph,虽然出了结果,最后的结果并没有满足最初的目的,现在尝试使用ansible部署一遍,看是否会有问题 一.环境准备 ceph1充当部署节点,ceph2,ceph3 ...
- k8s ansible部署部署文档
一:基础系统准备 ubuntu 1804----> root密码:123456 主要操作: 1.更改网卡名称为eth0: # vim /etc/default/grub GRUB_CMDLI ...
- 使用Ansible部署openstack平台
使用Ansible部署openstack平台 本周没啥博客水了,就放个云计算的作业上来吧(偷个懒) 案例描述 1.了解高可用OpenStack平台架构 2.了解Ansible部署工具的使用 3.使用A ...
- rh358 004 bind反向,转发,主从,各种资源记录 unbound ansible部署bind unbound
通过bind实现正向,反向,转发,主从,各种资源记录 7> 部署反向解析 从ip解析到fqdn vim /etc/named.conf zone "250.25.172.in-addr ...
随机推荐
- 为何PostgreSQL没有聚集索引?解读两大数据库的设计差异
为何PostgreSQL没有聚集索引?解读两大数据库的设计差异 前言 高效的数据检索是数据库管理的基石, PostgreSQL和SQL Server都能提供强大的数据访问方法以支持各种工作负载方面表现 ...
- golang中写个字符串遍历谁不会?且看我如何提升 50 倍
作者:张富春(ahfuzhang),转载时请注明作者和引用链接,谢谢! cnblogs博客 zhihu Github 公众号:一本正经的瞎扯 引子 VictoriaMetrics (Github: h ...
- redis的常见面试题
为什么要用redis 减少了mysql数据库的压力, 在这之前mysql一个人承受,然后要承受大量的数据请求, 大部分都是读操作.而且经常都是重复查一个东西,浪费了很多时间进行磁盘io redis将数 ...
- GStreamer开发笔记(七):gstreamer播放ogg详解
前言 gtreamer播放ogg音频文件的流程讲解. Ogg Ogg全称是OGGVobis(oggVorbis)是一种音频压缩容器格式.Ogg格式不仅是一个高效的容器格式,它还融合了Vor ...
- NOIP 2024 游寄
别让我担心 派蒙可爱! 天气晴 风平浪静 沙滩上混乱的脚印 钓鱼竿 两份孤单 会飞的落汤鸡 是故事的开局 青橙紫绿 留影机塞满了回忆 可我却无比思念 遇见你的那一集 才发现我们早已 走了很远很远 多少 ...
- 腾讯云的devops自动化部署代替jenkins
起因 jenkins太耗内存了,经常导致服务器崩. 了解到devOps也是做类似的服务的,遂用之. serverless framework也可以做这个,但是截至目前,只能够打包node项目. dev ...
- jenkins部署后端SpringBoot
安装和配置java 安装java就不介绍了,因为到这一步,java环境肯定是已经安装完了. 这里多介绍给jekins配置java环境,方便编译后端项目. 全局工具配置>JDK>新增 安装和 ...
- esbuild vs webpack
先看提速效果 上图:使用默认设置(包括缩小和源映射)从头开始制作包含 10 个three.js库副本的生产包的时间.更多信息在这里. 我们当前用于 Web 的构建工具比esbuild速度可能慢 10- ...
- html手写板
js版本 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF- ...
- 开发工具系列001-Git Tag
本文简单介绍 git 仓库中 tag 的用法. 如何为 git 仓库打上 tag 标记. git tag // 查看当前仓库的 tag 信息,如果当前没有版本则显示为空 git tag -l &quo ...