安装配置 Alertmanager

wget https://github.com/prometheus/alertmanager/releases/download/v0.20.0/alertmanager-0.20.0.linux-amd64.tar.gz
tar -zxv -f alertmanager-0.20.0.linux-amd64.tar.gz -C /usr/local
cd /usr/local
mv alertmanager-0.20.0.linux-amd64/ alertmanager groupadd prometheus
useradd -g prometheus -m -d /var/lib/prometheus -s /sbin/nologin prometheus chown -R prometheus.prometheus alertmanager/ # alertmanager.service启动文件中会用到prometheus用户

创建启动文件

Alertmanager 安装目录下默认有 alertmanager.yml 配置文件,可以创建新的配置文件,在启动时指定即可。

vim /usr/lib/systemd/system/alertmanager.service 

[Unit]
Description=alertmanager
Documentation=https://github.com/prometheus/alertmanager
After=network.target [Service]
Type=simple
User=prometheus
ExecStart=/usr/local/alertmanager/alertmanager --config.file=/usr/local/alertmanager/alertmanager.yml --storage.path=/usr/local/alertmanager/data
Restart=on-failure [Install]
WantedBy=multi-user.target
systemctl daemon-reload
systemctl start alertmanager.service
systemctl status alertmanager.service
systemctl enable alertmanager.service

启动命令参考参数

# ./alertmanager --help
usage: alertmanager [<flags>] Flags:
-h, --help Show context-sensitive help (also try --help-long and --help-man).
--config.file="alertmanager.yml"
Alertmanager configuration file name.
--storage.path="data/" Base path for data storage.
--data.retention=120h How long to keep data for.
--alerts.gc-interval=30m Interval between alert GC.
--web.config.file="" [EXPERIMENTAL] Path to configuration file that can enable TLS or
authentication.
--web.external-url=WEB.EXTERNAL-URL
The URL under which Alertmanager is externally reachable (for
example, if Alertmanager is served via a reverse proxy). Used for
generating relative and absolute links back to Alertmanager itself.
If the URL has a path portion, it will be used to prefix all HTTP
endpoints served by Alertmanager. If omitted, relevant URL components
will be derived automatically.
--web.route-prefix=WEB.ROUTE-PREFIX
Prefix for the internal routes of web endpoints. Defaults to path of
--web.external-url.
--web.listen-address=":9093"
Address to listen on for the web interface and API.
--web.get-concurrency=0 Maximum number of GET requests processed concurrently. If negative or
zero, the limit is GOMAXPROC or 8, whichever is larger.
--web.timeout=0 Timeout for HTTP requests. If negative or zero, no timeout is set.
--cluster.listen-address="0.0.0.0:9094"
Listen address for cluster. Set to empty string to disable HA mode.
--cluster.advertise-address=CLUSTER.ADVERTISE-ADDRESS
Explicit address to advertise in cluster.
--cluster.peer=CLUSTER.PEER ...
Initial peers (may be repeated).
--cluster.peer-timeout=15s
Time to wait between peers to send notifications.
--cluster.gossip-interval=200ms
Interval between sending gossip messages. By lowering this value
(more frequent) gossip messages are propagated across the cluster
more quickly at the expense of increased bandwidth.
--cluster.pushpull-interval=1m0s
Interval for gossip state syncs. Setting this interval lower (more
frequent) will increase convergence speeds across larger clusters at
the expense of increased bandwidth usage.
--cluster.tcp-timeout=10s Timeout for establishing a stream connection with a remote node for a
full state sync, and for stream read and write operations.
--cluster.probe-timeout=500ms
Timeout to wait for an ack from a probed node before assuming it is
unhealthy. This should be set to 99-percentile of RTT (round-trip
time) on your network.
--cluster.probe-interval=1s
Interval between random node probes. Setting this lower (more
frequent) will cause the cluster to detect failed nodes more quickly
at the expense of increased bandwidth usage.
--cluster.settle-timeout=1m0s
Maximum time to wait for cluster connections to settle before
evaluating notifications.
--cluster.reconnect-interval=10s
Interval between attempting to reconnect to lost peers.
--cluster.reconnect-timeout=6h0m0s
Length of time to attempt to reconnect to a lost peer.
--log.level=info Only log messages with the given severity or above. One of: [debug,
info, warn, error]
--log.format=logfmt Output format of log messages. One of: [logfmt, json]
--version Show application version.

nginx子路径代理不需要额外的其他配置

注意:promethes配置nginx访问子路径设置的是:--web.external-url,但是alertmanager不需要该配置

比如:

# cat /usr/lib/systemd/system/alertmanager.service
[Unit]
Description=alertmanager
After=network.target [Service]
Type=simple
User=prometheus
ExecStart=/usr/local/alertmanager/alertmanager --config.file=/usr/local/alertmanager/alertmanager.yml --storage.path=/usr/local/alertmanager/data
Restart=on-failure [Install]
WantedBy=multi-user.target

nginx反向代理设置

    location /alertmanager/ {
proxy_pass http://192.168.0.185:9093/;
proxy_set_header Host $host:$server_port;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Real-PORT $remote_port;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}

安装Alertmanager,nginx配置二级路径代理访问的更多相关文章

  1. Nginx 配置二级虚拟目录访问 Laravel 重写

    server { listen 80; server_name _; root /opt/sites; index index.php index.html index.htm; etag on; g ...

  2. Nginx配置实例-反向代理实例:根据访问的路径跳转到不同端口的服务中

    场景 Ubuntu Server 16.04 LTS上怎样安装下载安装Nginx并启动: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/detai ...

  3. eclipse加速/Nginx配置跨域代理

    下班时间到啦! --下班都是他们的,而我,还是什么都没有. eclipse加速 去掉包含js文件的包的js验证,否则每次启动都需要进行校验(右击项目->properties) Nginx配置跨域 ...

  4. Windows下Nginx配置SSL实现Https访问(包含证书生成)

    Vincent.李   Windows下Nginx配置SSL实现Https访问(包含证书生成) Windows下Nginx配置SSL实现Https访问(包含证书生成) 首先要说明为什么要实现https ...

  5. 使用nginx配置二级域名

    使用nginx配置二级域名 2018.11.21 11:51:17字数 613阅读 170 最近想把三个项目配在一个服务器上,于是想使用nginx配置二级域名实现. 1.域名添加解析 我的是阿里云的域 ...

  6. docker 安装redis 并配置外网可以访问

    1, docker 拉去最新版本的redis docker pull redis #后面可以带上tag号, 默认拉取最新版本 2, docker安装redis container 安装之前去定义我们的 ...

  7. docker 安装redis 并配置外网可以访问 - flymoringbird的博客 - CSDN博客

    原文:docker 安装redis 并配置外网可以访问 - flymoringbird的博客 - CSDN博客 端口映射,data目录映射,配置文件映射(在当前目录下进行启动). docker run ...

  8. Nginx配置二级目录/路径 映射不同的反向代理和规避IP+端口访问

       当配置Nginx来映射不同的服务器 可以通过二级路径来反向代理 来解决一个外网端口实现多个服务访问. 配置如下: server { listen ; server_name demo.domai ...

  9. nginx配置二级目录,反向代理不同ip+端口

    场景描述: 通过二级目录(虚拟目录,应用程序)的方式访问同一ip+端口的不同应用,例如location是用户使用页面,location/admin/是管理页面,location部署在192.168.1 ...

随机推荐

  1. mobaxterm会话同步

    前言 之前用过MobaXterm,想不起来为啥不用了.后面主要还是用xshell,最近又在用WindTerm,WindTerm还不错,奈何有不少的Bug,所以又来研究一下MobaXterm 下午摸索了 ...

  2. cnetOS使用Docker

    设置DHCP vi /etc/sysconfig/network-scripts/ifcfg-ens32 (1)bootproto=dhcp (2)onboot=yes 重启网卡:systemctl ...

  3. DENIED Redis is running in protected mode because protected mode is enabled

    DENIED Redis is running in protected mode because protected mode is enabled redisson连接错误 Unable to i ...

  4. rust实现http时如何读取一个完整的request

    用stream.read_to_end是不行的,tcpstream不是文件没有明确的结束符 需要先读取http header节,再找Content-Length header,然后读取body. 这是 ...

  5. MYSQL常见可优化场景

    1.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如:select id from t where num is null 可以在num上设置 ...

  6. 在Mac Os(苹果)上用手机抓包软件Charles抓取微信小程序中的高清无水印视频

    原文转载自「刘悦的技术博客」https://v3u.cn/a_id_118 手机抓包是一名测试工程师常备的技能,比如我想查看一个接口请求的参数.返回值,还有移动设备上的http请求.https请求,这 ...

  7. rsync 文件备份

    # rsync # 实现文件的备份. # 备份位置可以是当前主机,也可以是远程主机. # rsync实现了完全备份和增量备份 # 可以做到:1.将本地主机的文件复制到另一个位置(本地.远程). # 2 ...

  8. Python怎么打印彩色字符串

    print 也许是我们在使用 Python 的时候用的最多的一种操作,但是经常发现很多人可以打印彩色文本,这种操作是怎么得到的呢? 一行代码突出重点内容 现在我们通过一个例子,说明彩色文本怎么打印.先 ...

  9. 使用 Liquibase 管理数据库版本 - SpringBoot 2.7 .2 实战基础

    优雅哥 SpringBoot 2.7 .2 实战基础 - 05 -使用 Liquibase 管理数据库版本 在企业开发中,数据库版本管理好像是一个伪命题,大多项目都是通过 Power Designer ...

  10. Apache DolphinScheduler 架构演进 & Roadmap

    <DataFunSummit:大数据存储架构峰会> 2021年4月17日Apache DolphinScheduler PMC chair 代立冬参与 DataFunSummit 分享&l ...