linuxagent
① linux HA 集群原理和配置-03
本文介绍在Linux HA集群中的stonith模块功能。
Stonith,全称Shoot The Other Node In The Head,用于防止集群出现脑裂现象。简单来说,一旦集群中的节点相互之间失去了通信,无法知道其他节点的状态,此时集群中的每个节点将尝试fence(隔离或“射杀”)失去通信的节点,确保这些节点不再抢夺资源,然后才继续启动服务资源,对外提供服务。
在3台集群主机上安装fence-agents软件包。
安装完毕后可查看到系统支持的stonith设备类型:
以上输出中的每个Fence agent都是一种Stonith设备,从名字的后缀可以看出,这些Agent有以下几类:
前两种都属于电源类型的Stonith设备,而第三种和电源无关,之所以要这样划分,是因为:
以下以fence_scsi为例进行实验。
安装 《在CentOS7上配置iSCSI》 中的方法,通过一台专用的存储节点ha-disks为集群中的3个主机提供共享存储(即在ha-disks上创建iscsi硬盘,然后将其映射到3个集群主机上)。
在iscsi-disks上创建3个100M的硬盘fen1,fen2,fen3,挂载到主机上后设备名称分别为sdb,sdc,sdd
测试一下这些硬盘是否支持PR Key:
首先使用一个fence盘/dev/sdb来进行实验:
使用sg_persist -s参数获取/dev/sdb上的所有信息:
可以看到,3个节点使用不同的PR Key在这个磁盘上进行了注册(register),并且ha-host1保留(reservation)成功,类型为“Write Exclusive, registrants only”。表明此时只有ha-host1对该磁盘进行写操作。
此时如果断开其中两个节点的的链接,如ha-host1和ha-host3:
可以看到,经过协商后,ha-host3退出集群,并且也删除在fencing磁盘中的注册信息。由于stonith资源运行在ha-host2上,所以在ha-host2的日志中可以看到ha-host3被fence的过程:
ha-host3被fence之后,必须重启才能重新注册PR Key,否则即使网络恢复,其也无法运行需要stonith支持的资源。
问题:仲裁机制保证了必须有超过半数的节点的partition才能启动资源,拿为什么还需要stonith设备?
② 为什么linux下装agent
安装Agent的目的很多,但友虚对于大多数Linux操作系键高统而言,安装Agent只是为了监控,但如果是与该设备无关的人安装了Agent,很可能就是为了入侵使用,Agent的种类很多,作用也很多,具体作用不一好亮燃,每一个Agent的作用不同。
③ WGCLOUD在linux设置agent随机启动说明
我自己是在centos8下测试成功的,如下
1.在/etc/rc.d/init.d新建启动脚本startAgent.sh,内容敬搜如下
/usr/local/wgcloud-v3.3.3/agent/拍山start.sh为自己的亮贺历agent实际路径
2.添加可执行权限
测试下脚本是否能成功启动agent
./startAgent.sh
3.添加脚本到开机自动启动项目中。添加到chkconfig,开机自启动
[root@localhost ~]# cd /etc/rc.d/init.d
[root@localhost ~]# chkconfig --add startAgent.sh
[root@localhost ~]# chkconfig startAgent.sh on
④ 如何添加Linux Agent主机到zabbix监控
linux安装好agent包并且设置好zabbix_agent.conf;
然后启动agent服务;
然后在zabbix网知悔页端里的主机里新建。然后在视图祥猛中里添加要监控的比如cpu内存等。
就可以了。
要注意的是hostname在配置文件里写的什么,那你web新建主机谨山时就要填啥
⑤ Linux下td-agent(fluentd)的安装和配置
参考的官网链接
安装ntp服务
编辑 /etc/仔伏哪ntp.conf
或者
查看节点同步状态
使用ulimit -n命念码令检查当前号码。
如果控制台显示1024,是不够的。在/etc/security/limits.conf文件中添加以下行并重新启动计算机。
对于由许多Fluentd实例组成的高负载环境,请将这些参数添加到您的/etc/sysctl.conf文件中。
并输入sysctl -p或重新启动节点以使厅镇更改生效。
配置文件的语法可以 参考官网 给出的,或者参考 博客1 和 博客2
Fluentd 安装使用 可以参考该文章。
参考该博客,有比较详尽的fluentd工具使用经验, 日志收集工具Fluentd使用总结
分别执行两个文件
执行终端显示结果如下
日志跟踪终端显示如下:
Docker版本需要在17.05以上才可以使用日志驱动插件( 见官网 )。
使用参见官网说明: https://docs.docker.com/config/containers/logging/fluentd/
找到如下行,把td-agent用户ID修改为 0 ,如下所示:
收集到的日志如下:
⑥ 求助,关于zabbix客户端agent在linux安装问题
1) 先下载tar包 如果浏览器打不开,请直接复制下面的地址放到 迅雷或者QQ旋风中下载即可。如果获取不了,请继续追问或者 私信 告诉我email,我发给你蠢雀顷
http://cdnetworks-kr-2.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/2.0.1/zabbix-2.0.1.tar.gz
2)创建用户
groupadd zabbix
useradd -g zabbix zabbix
--------以下为安装步骤-----------------
1)解压
tar -zxvf zabbix-2.0.1.tar.gz
2)安装
cd zabbix-2.0.1
./configure --prefix=/opt/zabbix_agent --enable-agent
make install
3)安装服务
cat >>/etc/services<<EOF
zabbix-agent 10050/tcp Zabbix Agent
zabbix-agent 10050/udp Zabbix Agent
zabbix-trapper 10051/tcp Zabbix Trapper
zabbix-trapper 10051/udp Zabbix Trapper
EOF
4)修改配置文件
vi /opt/zabbix_agent/etc/带陆zabbix_agent.conf
修改Zabbix server的ip
Server=127.0.0.1 #若本机不是server,则修改
5)创建服务
cp misc/init.d/fedora/core/zabbix_agentd /etc/init.d/
chmod a+x /etc/init.d/zabbix_*
* 修改 /etc/init.d/zabbix_agentd 变量定义:
BASEDIR=/岁配opt/zabbix_agent
FULLPATH=$BASEDIR/sbin/$BINARY_NAME
#configuration file
CONF_FILE=$BASEDIR/etc/zabbix_agentd.conf
action $"Starting $BINARY_NAME: " $FULLPATH -c $CONF_FILE
6)启动
service zabbix_agentd start
ps ax|grep zabbix_agentd
7)添加到系统目录
ln -s /opt/zabbix_agent/sbin/* /usr/local/sbin/
ln -s /opt/zabbix_agent/bin/* /usr/local/bin/
8)测试,下面的命令需要在server端执行,其中127.0.0.1是agent的ip
zabbix_get -s192.168.60.22 -p10050 -k"system.uptime"