作者:手机用户2602922195 | 来源:互联网 | 2023-09-14 00:47
某服务器群组位于内网环境,不能访问互联网,因为我们在做Prometheus+grafana+钉钉告警的时候无法将告警消息发送到钉钉群,以便及时发现和处理故障问题。钉钉消息是需要发送
案例场景:
某服务器群组位于内网环境,不能访问互联网,因为我们在做Prometheus+grafana+钉钉告警的时候无法将告警消息发送到钉钉群,以便及时发现和处理故障问题。钉钉消息是需要发送消息给钉钉的机器人的接口的,没有互联网的条件使消息无法被接收。因此,针对此需求,我们应该如何解决该问题呢?
解决思路:
在此内网服务器集群外部放置一台既可以访问互联网,又可以和内网环境互通的机器,作为代理服务器,将钉钉机器人接口进行代理,提供给内网服务器群组来实现告警消息发送。
实际操作:
内网服务器:192.168.100.100(内网)
代理服务器:192.168.100.200(内网) 10.10.17.19 (互联网)
钉钉机器人地址:
https://oapi.dingtalk.com/robot/send?access_token=xxxxxx
代理服务器上安装nginx:
# 给代理服务器配置DNS
vim /etc/resolv.conf
nameserver 114.114.114.114
# 编译nginx 需要模块ngx_http_proxy_connect_module
git clone https://gitee.com/web_design_of_web_frontend/ngx_http_proxy_connect_module.git
# 打补丁 需要对应nginx 版本
patch -p1 9度,西北风1级,空气良89,相对温度73%\n > ![screenshot](https://img.alicdn.com/tfs/TB1NwmBEL9TBuNjy1zbXXXpepXa-2400-1218.png)\n > ###### 10点20分发布 [天气](https://www.dingtalk.com) \n" }, "at": { "atMobiles": [ "150XXXXXXXX" ], "atUserIds": [ "user123" ], "isAtAll": false } }
卡片:
curl '这里替换成你刚刚得到的Webhook地址' \ -H 'Content-Type: application/json' \ -d { "actionCard": { "title": "乔布斯 20 年前想打造一间苹果咖啡厅,而它正是 Apple Store 的前身", "text": "![screenshot](https://gw.alicdn.com/tfs/TB1ut3xxbsrBKNjSZFpXXcXhFXa-846-786.png) ### 乔布斯 20 年前想打造的苹果咖啡厅 Apple Store 的设计正从原来满满的科技感走向生活化,而其生活化的走向其实可以追溯到 20 年前苹果一个建立咖啡馆的计划", "btnOrientation": "0", "singleTitle" : "阅读全文", "singleURL" : "https://www.dingtalk.com/" }, "msgtype": "actionCard" }
参考资料:
centos7实现nginx部署支持http和https正向代理功能(安装ngx_http_proxy_connect_module模块)_cuikai314的博客-CSDN博客_centos https代理
https://www.jianshu.com/p/af2e41d9019b?u_atoken=fdd0c466-2c7a-45ea-b270-299dd72e31c5&u_asession=01LnNk3m9xe_8l59WiTJOMsF9JHj72HvnNKpU41CPwt7CRyom9f_XdkZt7Ui2TfRZlX0KNBwm7Lovlpxjd_P_q4JsKWYrT3W_NKPr8w6oU7K9bT-DQGwuQNWmsHblEsYC8MKWrbBzYAhXhkL4v5_cjQmBkFo3NEHBv0PZUm6pbxQU&u_asig=05_iqjE2ctFye6sIp-0lih0QGaQcz3yHVjU2cF3XcdzZ63LcwMfef9ovGLEH18ndUxWVUBoKciiTQCStUns3NAXsAw9kwBWKe-mkkVJi9hkDSWilxS6IxqX0PbWYNCDqcsJLWeqY9kbyfVwRNGSQumFWd3QhOAKz_ZcQV8AkR2GN79JS7q8ZD7Xtz2Ly-b0kmuyAKRFSVJkkdwVUnyHAIJzaBXPgX2jLteKVkJgwRpx_wVmVNYz2wO73GYs3dDKmrPdf9JIAkyKervFWgmMgV8j-3h9VXwMyh6PgyDIVSG1W9rAJHyQkDOKHQfaKbjfTb3LJ0CqtehMVLVIw0n4HVzWnadJ0xfmn5JK-2P3SMZ6ojd1-BTadcTwqbhIda8yFL4mWspDxyAEEo4kbsryBKb9Q&u_aref=y1PCcT3Lgk7eeZaURCYxbbJp46s%3Dhttps://www.jianshu.com/p/af2e41d9019b?u_atoken=fdd0c466-2c7a-45ea-b270-299dd72e31c5&u_asession=01LnNk3m9xe_8l59WiTJOMsF9JHj72HvnNKpU41CPwt7CRyom9f_XdkZt7Ui2TfRZlX0KNBwm7Lovlpxjd_P_q4JsKWYrT3W_NKPr8w6oU7K9bT-DQGwuQNWmsHblEsYC8MKWrbBzYAhXhkL4v5_cjQmBkFo3NEHBv0PZUm6pbxQU&u_asig=05_iqjE2ctFye6sIp-0lih0QGaQcz3yHVjU2cF3XcdzZ63LcwMfef9ovGLEH18ndUxWVUBoKciiTQCStUns3NAXsAw9kwBWKe-mkkVJi9hkDSWilxS6IxqX0PbWYNCDqcsJLWeqY9kbyfVwRNGSQumFWd3QhOAKz_ZcQV8AkR2GN79JS7q8ZD7Xtz2Ly-b0kmuyAKRFSVJkkdwVUnyHAIJzaBXPgX2jLteKVkJgwRpx_wVmVNYz2wO73GYs3dDKmrPdf9JIAkyKervFWgmMgV8j-3h9VXwMyh6PgyDIVSG1W9rAJHyQkDOKHQfaKbjfTb3LJ0CqtehMVLVIw0n4HVzWnadJ0xfmn5JK-2P3SMZ6ojd1-BTadcTwqbhIda8yFL4mWspDxyAEEo4kbsryBKb9Q&u_aref=y1PCcT3Lgk7eeZaURCYxbbJp46s%3D
#安装依赖
yum -y install patch unzip gcc gcc-c++ autoconf automake zlib zlib-devel libtool
cd /data1/softwares
tar -zxf pcre-8.32.tar.gz
tar -zxf openssl-1.0.2h.tar.gz #该版本nginx不支持openssl 1.1.1ntar -zxf nginx-1.21.1.tar.gz
mkdir /usr/lib64/nginx/ngx_http_proxy_connect_module-master -p
unzip ngx_http_proxy_connect_module-master.zip #nginx https正向代理需要该module,安装方式参考:https://github.com/chobits/ngx_http_proxy_connect_module
cp -r /data1/softwares/ngx_http_proxy_connect_module-master /usr/lib64/nginx/ngx_http_proxy_connect_module
cd /data1/softwares/nginx-1.21.1
patch -p1
参考资料:Nginx配置http https正向代理_11498007的技术博客_51CTO博客