前言
MobalXterm又名MobalXVT,是一款增强型终端,X服务器和Unix命令集工具箱,可以用它来连接服务器
MobaXterm主要功能:
- 支持各种连接 SSH,X11,RDP,VNC,FTP,MOSH
- 支持 Unix 命令(bash,ls,cat,sed,grep,awk,rsync,…)
- 连接 SSH 终端后支持 SFTP 传输文件
- 各种丰富的插件(git/dig/aria2…)
- 可运行 Windows 或软件
小问题
官网地址,安装过程不再阐述,解压会比较慢,后续就正常了
然后打开,连接服务器

- 先点击session,连接设置可以按需选择,这里我用了SSH,输入你服务器的公网IP即可

- 然后登录,就可以进入你的服务器内

左边是主机文件,右边是操作台,也就是终端勾选左下角的 Follow terminal folder
可以让两个的工作路径保持一致。
文件传输和下载,可以采用直接拖拽的方式,或者采用鼠标右键选择相应功能。
但是,有一个问题,就是编码,编码问题是一个难以看出的问题,基本上,一些根本找不出错误的代码,一运行就出错,这就有可能是编码的问题,今天我在服务器上修改docker容器内的配置文件,但是由于想偷个懒,在主机上将配置文件拖出来,然后修改完再挂载回去,可是呢,报了一个及其恶心的错误
level=error ts=2018-12-07T07:16:42.642Z caller=main.go:808 err="error loading config from \"/etc/prometheus/prometheus.yml\": one or more errors occurred while applying the new configuration (--config.file=\"/etc/prometheus/prometheus.yml\")"
这个呢,找了很久也没有找到问题,最后灵机一动,是不是编码有问题,然后又转头回来整编码,结果还是没用,没办法,只能使用服务器里唯一的一个神一样的编辑器VIM,来进行一个字一个字的敲,最后神奇的是,问题解决了
虽然呢,编码都是utf8
,但是,总有些说不上来的错误,反正呢,乖乖的用内部的VIM,一点问题没有。
还有一点是,在使用MobaXerm中的vim时,在修改文件的时候,经常会遇到readonly option is set (add!to override)
这样的错误,解决办法也非常简单,如果是root权限,可以直接:wq!
,或者按下ESC,输入set noreadonly
,然后就正常保存就可以了
在服务器上部署,用docker是很方便的,我之前也有过几篇攻略,虽然可能说的很磕磕绊绊,但是还是希望能帮到大家。
进入正题
Prometheus
,是自动化运维领域很常用的软件,它中文名为普罗米修斯,它的作用就是监控告警
话不多说,路程还长,首先是安装问题,安装呢,我们在MobalXterm的终端中,使用docker来进行安装
#升级yum
sudo yum update
#卸载旧版本docker
sudo yum remove docker docker-common docker-selinux docker-engine
#安装依赖
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
#设置源
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
sudo yum makecache fast
#安装docker
sudo yum install docker-ce
#启动服务
sudo systemctl start docker
安装成功后查看版本:
docker -v
显示版本号即为成功
然后可以换国内源来提升下载速度
1.先执行
sudo vim /etc/docker/daemon.json
2.添加如下代码
{
"registry-mirrors": ["https://d7grpode.mirror.aliyuncs.com"]
}
重启docker
sudo systemctl restart docker
随后拉取普罗米修斯的镜像
docker pull prom/prometheus:latest
这里我们以监控Redis数据库为例子,所以还需要拉取redis和redis状态收集器两个镜像:
docker pull redis
docker pull oliver006/redis_exporter:latest
然后启动一下
docker run -d --name redis -p 6379:6379 redis
docker run -d --name redis_exporter -p 9121:9121 oliver006/redis_exporter:latest --redis.addr redis://公网ip:6379
随后创建普罗米修斯的配置文件
# 执行这条命令
vim /tmp/prometheus.yml
# 加入下面代码
scrape_configs:
# The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
- job_name: 'redis'
# Override the global default and scrape targets from this job every 5 seconds.
scrape_interval: 5s
static_configs:
- targets: ['公网ip:9121']
这里每隔5秒获取一下运行的信息,然后启动
docker run -d -p 9090:9090 -v /tmp/prometheus.yml:/etc/prometheus/prometheus.yml prom/prometheus:latest
然后可以访问一下http://公网ip:9090/targets
然后,我们新创建一个机器人

需要注意的是,要将公网ip写上

然后再拉取一个告警模块以及顶顶机器人的插件
如果普罗米修斯的告警模块检测到异常,就会通过钉钉机器人的webhook的地址发送消息
编写告警配置文件
global:
resolve_timeout: 5m
route:
receiver: webhook
group_wait: 30s
group_interval: 5m
repeat_interval: 5m
group_by: [alertname]
routes:
- receiver: webhook
group_wait: 10s
receivers:
- name: webhook
webhook_configs:
- url: http://公网ip:8060/dingtalk/webhook1/send
send_resolved: true
编写警告规则
# 运行这条命令
vim /tmp/redis.rules
# 添加代码
groups:
- name: redis
rules:
- alert: redis
expr: up{job="redis"} == 0
for: 15s
labels:
severity: 1
team: node
annotations:
summary: "Redis服务在您的帮助下已经成功死机,老板限你一小时之内把它救回来。"
修改普罗米修斯的配置文件,将告警设置配置好
# 执行这条命令
vim /tmp/prometheus.yml
# 追加这些代码
alerting:
alertmanagers:
- static_configs:
- targets:
- 公网ip:9093
rule_files:
- "/etc/prometheus/redis.rules"
重启普罗米修斯服务,我们需要再次挂载一个redis.rules。
docker run -d -p 9090:9090 -v /tmp/prometheus.yml:/etc/prometheus/prometheus.yml -v /tmp/redis.rules:/etc/prometheus/redis.rules prom/prometheus:latest
启动告警模块
docker run -d --name alertmanager -p 9093:9093 -v /tmp/alertmanager.yml:/etc/alertmanager/alertmanager.yml prom/alertmanager:latest
启动钉钉插件
docker run -d -p 8060:8060 --name webhook timonwong/prometheus-webhook-dingtalk --ding.profile="webhook1=https://oapi.dingtalk.com/robot/send?access_token=钉钉token"
然后访问一下http://公网ip:9090/rules

然后我们关闭redis_exporter
,来模拟redis宕机
docker stop redis_exporter
普罗米修斯的监控立刻就发现了问题

然后可以看到,机器人会发送一个消息

ok,完毕
Grafana可视化界面
这是一个很酷炫的可视化界面,可以将我们的监控界面导入到里面,隔壁小孩崇拜的很
首先拉取镜像:
sudo docker pull grafana/grafana
然后启动
sudo docker run -d -p 3000:3000 --name grafana grafana/grafana
- 登录
http://公网ip:3000
- 默认账号和密码都是admin


写入公网IP和端口


ok完美,莫得问题
- Post link: https://www.godhearing.cn/mobaxterm-cao-zuo-prometheus-he-grafana-da-jian-jian-kong-yu-jing/
- Copyright Notice: All articles in this blog are licensed under unless otherwise stated.