殇帝刘玢你 发表于 2018-6-6 08:27:33

【VMware虚拟化解决方案】邮箱定时自动接收ESXi警报

  

  背景
  客户有一堆ESXi服务器,在暂时没有预算的情况下,需要运维人员方便实时的掌握ESXi服务器的运行状态,确保ESXi服务器的稳定运行。
  
  
  
  设计
  收集ESXi服务器本地的日志(vmkwarning.log)定时自动发送到运维人员邮箱。
  
  
  
  环境
  ESXi服务器 — 监控对象,日志产生源
  邮件服务器 - 局域网作为邮件发送使用,因特网使用163邮箱即可
  收集服务器 - 搜集ESXi的日志,并完成定时发送
  
  
  
  拓扑

  

  

  

  配置步骤
  1、创建一台win2003虚拟机,命名为hmail,分配IP10.x.x.42,安装hmail客户端,完成配置,并建立发送告警邮件账户tim01@test.com,建立接收告警账户test02@test.com。

  2、测试Hmail可用

  3、创建一台Centos虚拟机,命名centos,分配IP 10.x.x.41。

  4、在Centos上配置本地YUM,
mkdir /media/centos                            /新建挂载文件夹
mount –tiso9660 /dev/cdrom /media/centos    /挂载Centos镜像
cd /media/centos
ls
cd /etc/yum.repos.d                            /进入yum目录
vi CentOS-Media.repo

name=CentOS-$releasever - Media
baseurl=file:///media/centos/               /选择镜像挂载目录
gpgcheck=1
enabled=1                                     /开启yum
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5
yum clean all                              /清除yum缓存  5、Cenos上安装SCP
yum install openssl-clients
  6、配置ESXi主机和Centos虚拟机SSH免登录,首先开启ESXi的SSH服务,secureCRT工具连接ESXi主机10.x.x.153,生成公钥和私钥
/usr/lib/vmware/openssh/bin/ssh-keygen -t dsa
scp /.ssh/id_dsa.pub root@10.x.x.41:/home  7、Centos虚拟机生成公钥和私钥
ssh-keygen -t dsa
scp id_dsa.pub root@10.x.x.153:/tmp
cat /home/id_dsa.pub >> ~/.ssh/authorized_keys  8、回到ESXi 的SSH命令行,同样将cenos的公钥加入到esxi的认证密钥中
cat /tmp/id_dsa.pub >> /.ssh/authorized_keys  9、SSH认证完成,在Centos上测试SCP命令将ESXi的日志复制到本地/home目录下
scp root@10.x.x.153:/var/log/vmkwarning.log/home/   /测试文件复制  10、默认crontab命令可以使用,没有命令请安装
yum installcrontabs  11、测试cron执行,并刷新查看cronvmkwarning.log文件是否生成
crontab -u root -e
0 8* * * scp root@10.x.x.153:/var/log/vmkwarning.log/home/ >> /home/cronvmkwarning.log   /测试每天早上8点执行 从ESXi复制log到/home目录  12、下载msmtp,挂载进行安装
tar xvf msmtp-.tar.bz2
./configure --prefix=/usr/local/msmtp
make
make install
cd /usr/local/msmtp/
mkdir etccd etc  -----------
vi msmtprc
account default
host 10.x.x.42                              /邮箱服务器Hail地址
port 25
from tim01@test.com                         /发件邮箱地址
auth login
tls off
user tim01@test.com
password 123456
logfile /var/log/mmlog
/usr/local/msmtp/bin/msmtp tim02@test.com      /测试接收功能  13、安装mutt
vi /etc/Muttrc
set sendmail="/usr/local/msmtp/bin/msmtp"
set use_from=yes
set realname="tim01@test.com"/选择发送邮箱
set editor="vim"  

  14、cron中添加命令
crontab -u root -e
*/10* * * * cd /home/ &&tail -n 50 vmkwarning.log >> vm1.log && cat /home/vm1.log | mutt -s "ESXi邮件告警日志"tim02@test.com   /每10分钟发送一次日志到指定邮箱

页: [1]
查看完整版本: 【VMware虚拟化解决方案】邮箱定时自动接收ESXi警报