Centos7下搭建H3C log服务器

rsyslog+H3C

安装rsyslog服务器

关闭防火墙

bash 复制代码
systemctl stop firewalld && systemctl disable firewalld

关闭selinux

bash 复制代码
sed -i 's/enforcing/disabled/' /etc/selinux/config && setenforce 0

centos7服务器,通过yum安装rsyslog

bash 复制代码
yum -y install rsyslog    

建立日志存放路径

bash 复制代码
mkdir -p /data/h3c/log         

建立日志文件

bash 复制代码
touch /data/h3c/log/switch_log      

修改rsyslog配置文件

bash 复制代码
vi /etc/rsyslog.conf   
bash 复制代码
#去掉注释
$ModLoad imudp 
$UDPServerRun 514                    #允许客户端通过udp:514 端口连接
$IncludeConfig /etc/rsyslog.d/*.conf
*.info;mail.none;authpriv.none;cron.none                /var/log/messages
authpriv.*                                              /var/log/secure
mail.*                                                  -/var/log/maillog
cron.*                                                  /var/log/cron
*.emerg                                                 *
uucp,news.crit                                          /var/log/spooler
local7.*                                                /var/log/boot.log

#添加以下内容
SYSLOGD_OPTIONS="-c 2 -r -x -m 180"
KLOGD_OPTIONS="-x"
local7.info /data/h3c/log/switch_log

交换机配置

配置每台交换机的日志接收,需要登录每台交换机执行以下命令(info-center loghost 172.16.0.10,这边IP需要配日志服务器的IP),操作都是重复的,利用python脚本一键执行即可:

bash 复制代码
system-view
info-center loghost 172.16.0.10
info-center enable 
save force

在centos7服务器,创建python脚本执行配置,

  1. 创建python脚本文件:h3c_script.py
bash 复制代码
vi h3c_script.py
  1. 赋权:
bash 复制代码
chmod +x h3c_script.py
  1. 脚本内容如下:
python 复制代码
#!/usr/bin/env python3

#先安装pip3 install paramiko
import paramiko

# 创建SSH客户端
ssh_client = paramiko.SSHClient()

# 自动添加主机密钥(选项,根据需求使用)
ssh_client.set_missing_host_key_policy(paramiko.AutoAddPolicy())

# 交换机的IP地址列表
switches = [
    # 用您实际的交换机IP地址替换这些
    	"192.168.100.1",
        "192.168.100.2",
        "192.168.100.3",
        "192.168.100.5",
        "192.168.100.10",
        "192.168.100.11",
        "192.168.100.12",
        "192.168.100.13",
        "192.168.100.14",
        "192.168.100.15",
        "192.168.100.16",
        "192.168.100.20",
        "192.168.100.21",
        "192.168.100.22",
        "192.168.100.23",
        "192.168.100.24",
        "192.168.100.25",
        "192.168.100.26",
        "192.168.100.27",
        "192.168.100.28",
        "192.168.100.30",
        "192.168.100.31",
        "192.168.100.40",
        "192.168.100.41",
        "192.168.100.50",
        "192.168.100.51",
        "192.168.100.52",
        "192.168.100.60",
        "192.168.100.63",
        "192.168.100.64",
        "192.168.100.65",
        "192.168.100.66",
    ]  


# SSH登录凭据,填交换机登录账户密码
username = "账号"
password = "密码"

# 连接每台交换机并执行命令
for switch_ip in switches:
    try:
        ssh_client.connect(switch_ip, username=username, password=password)
        ssh_shell = ssh_client.invoke_shell()

        # 执行命令
        ssh_shell.send("system-view\n")
        ssh_shell.send("info-center loghost 172.16.0.10\n")
        ssh_shell.send("info-center enable\n")
        ssh_shell.send("save force\n")

        # 等待命令执行完成
        while not ssh_shell.recv_ready():
            pass

        # 关闭连接
        ssh_client.close()

        print(f"Commands executed on {switch_ip}")
    except Exception as e:
        print(f"Failed to execute commands on {switch_ip}: {str(e)}")

# 关闭SSH客户端
ssh_client.close()
  1. 配置完,登录服务器,测试日志接收情况
bash 复制代码
 tail -f /data/log/h3c/switch_log
相关推荐
孤寂大仙v28 分钟前
【Linux笔记】——进程信号的产生
linux·服务器·笔记
Moshow郑锴1 小时前
Spring Boot 3 + Undertow 服务器优化配置
服务器·spring boot·后端
阳光普照世界和平1 小时前
Jenkins:库博静态工具CI/CD 的卓越之选
运维·ci/cd·jenkins
愚戏师1 小时前
Linux复习笔记(三) 网络服务配置(web)
linux·运维·笔记
liudongyang1231 小时前
jenkins 启动报错
java·运维·jenkins
掘金-我是哪吒2 小时前
分布式微服务系统架构第126集:集群,数据库扩展,多节点分布,分库,分表,分片,分表,运维
运维·数据库·分布式·微服务·系统架构
农民小飞侠2 小时前
ubuntu 24.04 error: cannot uninstall blinker 1.7.0, record file not found. hint
linux·运维·ubuntu
某不知名網友2 小时前
Linux 软硬连接详解
linux·运维·服务器
Jogging-Snail2 小时前
Linux工作台文件操作命令全流程解析(高级篇之vim和nano精讲)
linux·运维·vim·文件操作·文本编辑·nano
爱学习的章鱼哥3 小时前
计算机网络|| 常用网络命令的作用及工作原理
linux·服务器·计算机网络