“尽信书,莫如无书。”
01
—
简介
Exporter是Prometheus的一类数据采集组件的总称。它负责从目标处搜集数据,并将其转化为Prometheus支持的格式。与传统的数据采集组件不同的是,它并不向中央服务器发送数据,而是等待中央服务器主动前来抓取。
Exporter的存在:大多数监控无法直接提供监控接口(本身不支持http接口、稳定性等)
Exporter是采集本地监控数据并通过Prometheus监控规范统一对外提供数据的组件
Exporter有分官方实现库和第三方实现库(https://prometheus.io/docs/instrumenting/exporters/)
Exporter通过被监控对象提供的监控相关的接口获取监控数据(HTTP/HTTPS、TCP、本地文件(node)、标准协议方式)
02
—
常用Exporter
node_exporter
wget https://github.com/prometheus/node_exporter/releases/download/v1.0.1/node_exporter-1.0.1.linux-amd64.tar.gz
tar -xf node_exporter-1.0.1.linux-amd64.tar.gz
mv node_exporter-1.0.1.linux-amd64 node_exporter
#配置系统服务化
echo “[Unit]
Description=Node Exporter
Wants=network-online.target
After=network-online.target
[Service]
User=work #根据自己用户配置
ExecStart=/node_exporter/node_exporter #修改为自己的目录
[Install]
WantedBy=default.target” > /etc/systemd/system/node_exporter.service
#启动
systemctl daemon-reload
systemctl start node_exporter
systemctl enable node_exporter
复制
nginx-vts-exporter
(自己对应好版本)
nginx-1.13 => nginx-module-vts-0.1.13.linux-amd64.tar.gz
nginx-1.14 => nginx-module-vts-0.1.14.linux-amd64.tar.gz
#下载
wget https://github.com/hnlq715/nginx-vts-exporter/releases/download/v0.10.3/nginx-vts-exporter-0.10.3.linux-amd64.tar.gz
wget https://github.com/vozlt/nginx-module-vts/archive/v0.1.13.zip
tar -xf nginx-vts-exporter-0.10.3.linux-amd64.tar.gz
tar -xf v0.1.13.zip
mv nginx-vts-exporter-0.10.3.linux-amd64 nginx-vts-exporter
mv v0.1.13 nginx-module-vts
#重新编译nginx覆盖
./configure --prefix= /usr/local/nginxx --conf-path=/usr/local/nginx/config/nginx/nginx.conf --http-log-path=/usr/local/nginx/logs/nginx/ --user=work --group=work --with-http_ssl_module --with-http_sysguard_module --with-pcre= /usr/local/pcre-8.35 --with-openssl=/usr/local/openssl-1.0.1i --with-http_stub_status_module --add-module=/nginx-module-vts/
make -j 2
注意:不要执行make install
cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.20201204
cp /usr/local/nginx-1.13.3/objs/nginx /usr/local/nginx/sbin/nginx
#查看是否有2个新模块--with-http_stub_status_module --add-module=/nginx-module-vts
/usr/local/nginx/sbin/nginx -V
#配置nginx
server {
listen 9080;
server_name 127.0.0.1;
location /vts_status {
vhost_traffic_status_display;
#vhost_traffic_status_display_format html;
vhost_traffic_status_display_format json;
}
location /status {
stub_status on;
access_log off;
}
#如果本地运行php进行配置文件(php-fpm.conf)开启pm.status_path = /php-status
location ~ ^/(php-status|ping)$ {
fastcgi_pass 127.0.0.1:9000;
allow 127.0.0.1;
deny all;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $fastcgi_script_name;
}
error_log /usr/local/nginx/logs/nginx/status-error.log;
access_log /usr/local/nginx/logs/nginx/status-access.log main;
}
#重新加载
/usr/local/nginx/sbin/nginx -s reload
#配置系统服务化
Echo “[Unit]
Description=nginx-vts-exporter
After=network.target
[Service]
Type=simple
User=work
ExecStart=/nginx-vts-exporter/nginx-vts-exporter -nginx.scrape_uri=http://127.0.0.1:9080/vts_status
Restart=on-failure
[Install]
WantedBy=multi-user.target” > /etc/systemd/system/nginx-vts-exporter.service
#启动nginx-vts-exporter
systemctl daemon-reload
systemctl start nginx-vts-exporter
systemctl enable nginx-vts-exporter
复制
php-fpm_exporter
wget https://codeload.github.com/bakins/php-fpm-exporter/tar.gz/v0.6.1/php-fpm-exporter-0.6.1.tar.gz
tar -xf php-fpm-exporter-0.6.1.tar.gz
mv php-fpm-exporter-0.6.1 php-fpm_exporter
#配置系统服务化
echo “[Unit]
Description=Node Exporter
Wants=network-online.target
After=network-online.target
[Service]
User=work #根据自己用户配置
ExecStart=/php-fpm_exporter/php-fpm-exporter --addr 0.0.0.0:9190 --endpoint http://127.0.0.1:9080/php-status
[Install]
WantedBy=default.target” > /etc/systemd/system/php-fpm_exporter.service
#启动
systemctl daemon-reload
systemctl start php-fpm_exporter
systemctl enable php-fpm_exporter
复制
redis_exporter
wget https://github.com/oliver006/redis_exporter/releases/download/v0.13/redis_exporter-v0.13.linux-amd64.tar.gz
tar -xf redis_exporter-v0.13.linux-amd64.tar.gz
mv redis_exporter-v0.13.linux-amd64 redis_exporter
#配置系统服务化
echo “[Unit]
Description=Node Exporter
Wants=network-online.target
After=network-online.target
[Service]
User=work
ExecStart=/redis_exporter/redis_exporter --redis.addr 0.0.0.0:6379
[Install]
WantedBy=default.target”> /etc/systemd/system/redis_exporter.service
#启动
systemctl daemon-reload
systemctl start redis_exporter
systemctl enable redis_exporter
复制
mysqld_exporter
wget https://github.com/prometheus/mysqld_exporter/releases/download/v0.12.1/mysqld_exporter-0.12.1.linux-amd64.tar.gz
tar -xf mysqld_exporter-0.12.1.linux-amd64.tar.gz
mv mysqld_exporter-0.12.1 mysqld_exporter
#创建数据库账号密码
CREATE USER 'mysql_exporter'@'localhost' IDENTIFIED BY 'mysql_exporter_2020';
CREATE USER 'mysql_exporter'@'127.0.0.1' IDENTIFIED BY 'mysql_exporter_2020';
GRANT PROCESS, REPLICATION CLIENT, SELECT ON *.* TO 'mysql_exporter'@'localhost' WITH MAX_USER_CONNECTIONS 3;
GRANT PROCESS, REPLICATION CLIENT, SELECT ON *.* TO 'mysql_exporter'@'127.0.0.1' WITH MAX_USER_CONNECTIONS 3;
FLUSH PRIVILEGES;
#配置登陆账号密码
echo “[client]
host=localhost
port=3306
user=mysql_exporter
password=mysql_exporter_2020”> /mysqld_exporter/.my.cnf
#配置系统服务化
[Unit]
Description=Mysqld Exporter
After=network-online.target
[Service]
User=work
Environment=DATA_SOURCE_NAME=mysql_exporter:mysql_exporter_2020@(localhost:3306)/
ExecStart=/mysqld_exporter/mysqld_exporter \
--config.my-cnf /mysqld_exporter/.my.cnf \
--collect.slave_status \
--log.level=error \
--collect.info_schema.processlist \
--collect.info_schema.innodb_metrics \
--collect.info_schema.innodb_cmp \
--collect.info_schema.innodb_cmpmem
Restart=on-failure
[Install]
WantedBy=multi-user.target
注意:--collect.info_schema 还有很多模块,看自己的版本,因为是5.6所以根据需求配置
#启动
systemctl daemon-reload
systemctl start mysqld_exporter
systemctl enable mysqld_exporter
复制
memcached_exporter
wget https://github.com/prometheus/memcached_exporter/releases/download/v0.6.0/memcached_exporter-0.6.0.linux-amd64.tar.gz
tar -xf memcached_exporter-0.6.0.linux-amd64.tar.gz
mv memcached_exporter-0.6.0.linux-amd64 memcached_exporter
#配置系统服务化
echo “[Unit]
Description=memcached_exporter
After=network.target
[Service]
Type=simple
User=prometheus
ExecStart=/memcached_exporter/memcached_exporter --memcached.address=127.0.0.1:11211
Restart=on-failure
[Install]
WantedBy=multi-user.target” > /etc/systemd/system/memcached_exporter.service
#启动
systemctl daemon-reload
systemctl start memcached_exporter
systemctl enable memcached_exporter
复制
下一篇文章《Elasticsearch 之 Metricbeat》,个人感受比exporter更人性化
文章转载自运维技术经验分享,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
相关阅读
数据库国产化替代深化:DBA的机遇与挑战
代晓磊
1321次阅读
2025-04-27 16:53:22
2025年4月国产数据库中标情况一览:4个千万元级项目,GaussDB与OceanBase大放异彩!
通讯员
797次阅读
2025-04-30 15:24:06
【活动】分享你的压箱底干货文档,三篇解锁进阶奖励!
墨天轮编辑部
536次阅读
2025-04-17 17:02:24
一页概览:Oracle GoldenGate
甲骨文云技术
503次阅读
2025-04-30 12:17:56
GoldenDB数据库v7.2焕新发布,助力全行业数据库平滑替代
GoldenDB分布式数据库
481次阅读
2025-04-30 12:17:50
优炫数据库成功入围新疆维吾尔自治区行政事业单位数据库2025年框架协议采购!
优炫软件
369次阅读
2025-04-18 10:01:22
给准备学习国产数据库的朋友几点建议
白鳝的洞穴
352次阅读
2025-05-07 10:06:14
XCOPS广州站:从开源自研之争到AI驱动的下一代数据库架构探索
韩锋频道
317次阅读
2025-04-29 10:35:54
MySQL 30 周年庆!MySQL 8.4 认证免费考!这次是认真的。。。
数据库运维之道
299次阅读
2025-04-28 11:01:25
国产数据库图谱又上新|82篇精选内容全览达梦数据库
墨天轮编辑部
287次阅读
2025-04-23 12:04:21