首页 > 其他分享 >3-主机监控、应用监控

3-主机监控、应用监控

时间:2024-05-10 10:25:52浏览次数:12  
标签:node exporter 监控 collect -- 主机 nginx mysqld 应用

3.主机监控、应用监控

二进制安装node_exporter

tar -zxvf node_exporter-xxx.tar.gz -C /usr/local
cd /usr/local
chown -R prometheus:prometheus node_exporter-xxx
ln -sv node_exporter-xxx node_exporter
cd /usr/local/node_exporter

启动

./node_exporter

需要启动时添加参数--web.listen-address=":9200”即可
更多方法可以使用./node_exporter -h查看相关帮助信息

http://127.0.0.1:9100/metrics

systemctl管理node_exporter

vim /usr/lib/systemd/system/node_exporter.service
[Service]
User=prometheus
Group=prometheus
ExecStart=/usr/local/bin/node_exporter

[Install]
WantedBy=multi-user.target

[Unit]
Description=node_exporter
After=network.target

systemctl start node_exporter
systemctl status node_exporter
systemctl enable node_exporter

node_exporter与prometheus集成

vim /usr/local/prometheus/prometheus.yml
global:
scrape_interval: 15s
evaluation_interval: 15s

alerting:
alertmanagers:

  • static_configs:
    • targets:

rule_files:
...

scrape_configs:

  • job_name: 'prometheus'
    static_configs:
    • targets: ['localhost:9090']
  • job_name: 'node_export'
    static_configs:
    • targets:
      • 192.168.1.2:9100
      • 192.168.1.3:9100
      • 192.168.1.4:9100

prometheus配置文件配置项解释

默认的配置文件prometheus.yml
文件中定义了4个YAML块: global、 alerting、 rule_files和scrape_configs。

global块
在Prometheus安装后,官方会提供一个默认的prometheus.yml文件,其中包含global的默认配置内容,主要有以下四个参数:
·scrape_interval,每次数据采集的时间间隔,默认为1秒。
·scrape_timeout,采集请求超时时间,默认为10秒。
·evaluation_interval,执行rules的频率,默认为1秒。
·external_labels,与外部系统通信时添加到任意时间序列或告警用的外部标签。

alerting
用来设置Prometheus的警报规则

rule_files
用来指定包含记录规则或警报规则的文件列表

scrape_configs块
scrape_configs主要用于配置被采集数据节点操作,每一个采集配置主要有以下几个参数:
·job_name,全局唯一名称。
·scrape_interval,默认等于global内设置的参数值,设置后可以覆盖global中的值。
·scrape_timeout,默认等于global内设置的参数值。
·metrics_path,从targets获取metric的HTTP资源路径,默认是/metrics。
·honor_labels,Prometheus如何处理标签之间的冲突。若设置为"true",则通过保留标签来解决标签冲突进行数据值采集。若设置为"false",则通过重命名来解决标签冲突,以exported_格式采集数据值,例如exported_job形式,默认是"false"。
·scheme,用于请求的协议方式,默认是http。
·params,数据采集访问时HTTP URL设定的请求参数。
·relabel_configs,采集数据重置标签配置。
·metric_relabel_configs,metric重置标签配置。
·sample_limit,对每个被已知样本(sample)数量的每次采集进行限制,如果超过限制,该数据将被视为失败。默认值为0,表示无限制。”

windows主机监控

1.下载并安装 wmi_exporter-0.5.0-amd64.msi
2.与prometheus集成

  • job_name: 'wmi_exporter'
    scrape_interval: 10s
    static_configs:
    • targets: ['192.168.24.16:9182']

mysql数据库监控

1.下载并安装 mysqld_exporter-0.11.0.linux-amd64.tar.gz
tar -xvf mysqld_exporter-0.11.0.linux-amd64.tar.gz

2.创建MySQL授权用户
·连接到MySQL服务器,创建一个用户,例如“mysqld_exporter”
·该用户需要拥有PROCESS,SELECT,REPLICATION CLIENT授权
·为避免有些高负载MySQL服务器过载,为用户设置最大连接限制。

可以进行如下操作:
CREATE USER 'mysqld_exporter'@'localhost' IDENTIFIED BY 'YourStrongPassword' WITH
MAX_USER_CONNECTIONS 2; #注意MySQL5.5版本时去掉MAX_USER_CONNECTIONS选项

GRANT PROCESS, REPLICATION CLIENT, SELECT ON . TO 'mysqld_exporter'@'localhost';

FLUSH PRIVILEGES;

核查用户是否已经创建完成

select Host,User from mysql.user;

3.配置数据库认证。
mysqld_exports需要连接数据库服务器的用户名和密码,这里可以通过两种方式向exporter提供此内容。
·使用环境变量。创建一个名为“DATA_SOURCE_NAME”的环境变量,格式如下:
export DATA_SOURCE_NAME='user:password@(hostname:3306)/”

·使用配置文件。创建一个文件“.mysqld_exporter.cnf”,并在该文件中输入用户名和密码。格式如下:
user=USER_CREATED_FOR_EXPORTER # 连接MySQL时使用的用户名
password=YOUR_PASSWORD # 用户密码

在与“mysqld_exports”文件同目录下创建“.mysqld_exporter.cnf”文件,并添加如下内容:

vi .mysqld_exporter.cnf

[client]
user=mysqld_exporter
password=YourStrongPassword

4.启动mysqld_exporter。
./mysqld_exporter --config.my-cnf=".mysqld_exporter.cnf"
mysqld_exporter成功启动后,默认监听端口是9104
在输出中,“Enabled collectors”列是mysqld_exporter默认情况下启用的功能。

5.添加mysqld_exporter,为系统服务启动。
vi /usr/lib/systemd/system/mysqld_exporter.service
[Unit]
Description=Prometheus MySQL Exporter
After=network.target
User=root
Group=root

[Service]
Type=simple
Restart=always
ExecStart=/data/mysqld_exporter/mysqld_exporter
--conf?ig.my-cnf=/data/mysqld_exporter/.mysqld_exporter.cnf
--collect.global_status
--collect.auto_increment.columns
--collect.info_schema.processlist
--collect.binlog_size
--collect.info_schema.tablestats
--collect.global_variables
--collect.info_schema.innodb_metrics
--collect.info_schema.query_response_time
--collect.info_schema.userstats
--collect.info_schema.tables
--collect.perf_schema.tablelocks
--collect.perf_schema.f?ile_events
--collect.perf_schema.eventswaits
--collect.perf_schema.indexiowaits
--collect.perf_schema.tableiowaits
--collect.slave_status
--web.listen-address=0.0.0.0:9104

[Install]
WantedBy=multi-user.target

systemctl daemon-reload
systemctl start mysqld_exporter.service

6.mysql_exporter与Prometheus集成

  • job_name: 'mysqld_exporter'
    scrape_interval: 10s
    static_conf?igs:
    • targets: ['192.168.24.61:9104']

redis监控

1.下载并解压缩软件包到指定的安装目录 redis_exporter。
tar -xvf redis_exporter-v0.23.0.linux-amd64.tar.gz
./redis_exporter -redis.addr localhost:6379 -redis.password YourStrongPassword

2.添加redis_exporter为系统服务开机启动配置文件redis_exporter.service:

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

[Unit]
Description=Prometheus Redis Exporter
After=network.target

[Service]
Type=simple
Restart=always
ExecStart=/data/redis_exporter/redis_exporter
-redis.addr localhost:6379
-redis.password YourStrongPassword \

[Install]
WantedBy=multi-user.target

Redis server若设置过密码登录,以上文件内容需要设置redis连接地址和密码。

3.与Prometheus集成

  • job_name: 'redis_exporter'
    scrape_interval: 10s
    static_configs:
    • targets: ['192.168.24.61:9121']

nginx监控

1.需要安装支持第三方的nginx virtual host traffic status模块,提供对虚拟主机状态信息的访问,它包含当前状态,如服务器、upstreams、缓存,即进行模块加载操作:
./configure --add-module=/path/to/nginx-module-vts

nginx-module-vts在Nginx官网上的第三方栏目中推荐下载页面地址https://github.com/vozlt/nginx-module-vts,也可以直接使用git进行clone操作git clone git://github.com/vozlt/nginx-module-vts.git。若没有加载nginx-module-vts模块支持,想要通过重新编译加载模块时,需要备份原来的应用环境,再加载此模块。

模块加载完成后,需要在Nginx配置文件中添加如下格式的配置内容:
http {
vhost_traffic_status_zone;
...
server {
...
location /status {
vhost_traffic_status_display;
vhost_traffic_status_display_format html;
}
}
}

通过 http://127.0.0.1/status 来访问

2.下载并解压 nginx-vts-exporter

启动

./nginx-vts-exporter -nginx.scrape_uri http://localhost/status/format/json

3.添加nginx-vts-exporter为系统服务开机启动配置文件nginx-vts-exporter.service:
vi /usr/lib/systemd/system/nginx-vts-exporter.service
[Unit]
Description=Prometheus Nginx VTS Exporter
After=network.target
User=nginx
Group=nginx

[Service]
Type=simple
Restart=always
ExecStart=/data/nginx-vts-exporter/nginx-vts-exporter
-nginx.scrape_uri http://localhost/status/format/json

[Install]
WantedBy=multi-user.target

4.与Prometheus集成

  • job_name: 'nginx-vts-exporter'
    scrape_interval: 10s
    static_configs:
    • targets: ['192.168.24.14:9913']

标签:node,exporter,监控,collect,--,主机,nginx,mysqld,应用
From: https://www.cnblogs.com/lixunblogs/p/18167083

相关文章

  • 黑盒监控、日志监控
    黑盒监控、日志监控黑盒监控对Exporter的使用可以称为“白盒监控”,即需要把对应的Exporter程序安装到被监控的目标主机上,从而实现对主机各种资源及其状态的数据采集工作。但是由于某些情况下操作技术或其他原因,不是所有的Exporter都能部署到被监控的主机环境中,最典型的例子是监......
  • prometheus JVM监控
     prometheusJVM监控为了使用Prometheus监控JVM,你需要一个能够采集JVM指标的工具,比如jmx_exporter。以下是如何设置jmx_exporter以监控JVM的步骤:下载并运行jmx_exporter:bashwget"https://repo1.maven.org/maven2/io/prometheus/jmx/jmx_prometheus_javaagent/0.16.1/jmx_......
  • 关于Unet在扩散模型中的应用
    Unet的输入是\((x_noise,t)\),其中\(x_noise\)是在时间步\(t\)时已经添加了噪声的图片,Unet的输出是在时间步\(t\)添加的噪声。该噪声是公式\(q(x_t|x_{t-1})=\sqrt{\overline{\alpha_t}}x_0+\sqrt{1-\overline{\alpha_t}}\epsilon\)中的\(\epsilon\),这并非是真实加入的噪声,但......
  • vue-router单页面应用的多标签页使用问题
    正常的思维做多vue页面应用,我们的第一反应是配置多个入口点,多个vue应用,编译成多个HTML文件,由服务器来决定路由。这是正常的思维。但谁知道单页面应用也能做到类似的效果呢。单页面不过是服务器路由变成了客户端路由,但通过一些技巧,也能实现类似服务器多页面路由的效果。客户端路......
  • CloudXR:更高效便捷的XR应用交互方案
    CloudXR是一种新颖而先进的技术,旨在将虚拟现实和增强现实体验从本地设备转移到云端,主要功能也包括了远程渲染、流媒体传输、低延迟、高带宽和高质量的音视频传输。CloudXR(云化XR)可以将高保真度的虚拟现实或增强现实场景实时传输到终端设备上,无论是PC、手机、平板还是头戴式显示器......
  • 夜轩社-8uftp虚拟主机服务器上传下载文件软件,8uftp下载
    用虚拟主机的朋友都知道上传下载文件很多时候都需要ftp软件虚拟主机不像服务器那样,复制粘贴,或者上传压缩包解压那么简单!能搜FTP的我想大家都知道ftp是干什么的我就不多介绍了!ftp软件非常多,比如:FileZillaServer软件下载server-u软件下载SmartFTPFileZilla等等太多太多了......
  • Linux系统资源监控
    系统资源查看freefree displays the totalamountoffreeandusedphysicalandswapmemoryinthesystem,aswellasthebuffersandcachesusedbythekernel.Theinformationisgatheredbyparsing/proc/meminfo.Thedisplayedcolumnsare:free命令可......
  • SpringBoot系列---【解决springboot应用突然无法启动了,日志中也没有错误日志】
    解决springboot应用突然无法启动了,日志中也没有错误日志1.问题描述五一过完了,来了之后突然发现一个微服务起不来了,本地启动没问题,但是上测试环境就是无法启动,但是查看日志,日志中也没有报错信息。怀疑是网络策略的问题,curl去试了一下数据库,as,redis,zk等等中间件,发现都通,最后又试了......
  • BOSHIDA AC/DC电源模块在通信与网络设备中的应用研究
    BOSHIDAAC/DC电源模块在通信与网络设备中的应用研究随着通信与网络技术的不断发展,通信与网络设备的使用不断增加。电源作为通信与网络设备的重要组成部分之一,在其稳定工作中起到至关重要的作用。AC/DC电源模块作为一种常用的电源转换器,广泛应用于通信与网络设备中。 一,AC/DC......
  • FastUI:快速构建Web应用程序界面
    简介FastUI是一种全新的构建Web应用程序用户界面的方式,它是由声明式的Python代码定义的。它旨在为Python开发人员和前端开发人员提供一种简单而强大的工具,以便他们能够更高效地构建响应式的Web应用程序界面,而无需处理繁杂的JavaScript代码或底层的技术细节。FastUI的优势•......