falcon-agent一键安装脚本

  • 生产实践:

    falcon-agent一键安装脚本

  • 学习技巧:

    Shell EOF使用、添加定时任务

  • 脚本内容:      

    隔离区三方项目机器很多没有人维护,也没有统一监控,需要把基础监控全部收敛到公司falcon监控上,弄一个一键安装脚本来安装方便点,不考虑啥健壮性,能用就行。

#!/bin/bash
#
# install_falcon_agent.sh
#
# create by anzhihe@foxmail.com 20221011
#


INSTALL_DIR="/home/anzhihe/app"
FALCON_DIR="/home/anzhihe/app/falcon_agentd"
CONFIG_FILE="${FALCON_DIR}/cfg.json"


# falcon-agent下载
download_agent() {
	if [ ! -d ${FALCON_DIR} ]; then
		mkdir -p ${INSTALL_DIR} && cd ${INSTALL_DIR} && wget https://file.chegva.com/sre/install_package/falcon_agentd.tar.gz && tar -zxf falcon_agentd.tar.gz
	else
		echo "falcon_agentd目录已存在,退出安装!"
		exit 1
	fi
}

# 添加配置文件
add_config() {
	hostname=`hostname`
cat << EOF > ${CONFIG_FILE}
{
	"debug": false,
	"filter": true,
	"hostname": "${hostname}",
	"safeguard": {
		"maxMemMByte": 5000
	},
	"plugin": {
		"enabled": false,
		"dir": "${FALCON_DIR}/plugin",
		"tarball": "http://file.chegva.com/plugin.tar.gz",
		"logs": "/home/work/falcon_agentd_plugins/logs"
	},
	"heartbeat": {
		"enabled": false,
		"addr": "falcon.chegva.com:8443",
		"isHttpReporter": false,
		"httpAddr": "http://falcon.chegva.com:8080",
		"interval": 60,
		"timeout": 300000
	},
	"transfer": {
		"enabled": true,
		"isGrpcBackend": false,
		"addr": "transfer.falcon.chegva.com:80",
		"isHttpSender": true,
		"httpAddr": "http://falcon.chegva.com:6060/api/push",
		"interval": 60,
		"timeout": 5000,
		"batch": 200
	},
	"http": {
		"enabled": true,
		"listen": ":1988"
	},
	"collector": {
		"ifacePrefix": ["eth", "em", "vlan","p4p"]
	}
}
EOF
}

# 启动falcon-agent
start_agent() {
	PROCESS_NUM=`ps -ef | grep "falcon-agent" | wc -l`
	TIME=`date +%Y-%m-%d\ %H:%M:%S`
	#echo $PROCESS_NUM
	if [ $PROCESS_NUM -eq 2 ]; then
		echo $TIME"Falcon agent is runnning"
	else
		echo $TIME"Falcon agent is down, will start..." && nohup ${FALCON_DIR}/falcon-agent -c ${CONFIG_FILE} 2>${FALCON_DIR}/var/stderr.log &
		ps -ef | grep -v grep | grep "falcon-agent"
	fi
}

# 添加falcon-agent进程moniter定时任务
add_cron() {
	# 将crontab定时任务加入到定时任务,agent有时候会自己停了
	if grep -q "falcon_agentd" /var/spool/cron/root; then
		echo "falcon moniter定时任务已经添加!"
	else
		echo "*/5 * * * * ${FALCON_DIR}/monitor.sh >> ${FALCON_DIR}/var/app.log" >> /var/spool/cron/root
		echo "添加falcon moniter定时任务完成"
	fi
}

main() {
	echo "开始安装falcon-agent...."s
	download_agent && add_config && start_agent && add_cron
	echo "falcon-agent安装完成,请验证是否有数据显示:https://falcon.chegva.com/#/dashboard \n"
}

main

相关记录:

# 注入ssh key
ansible -i tmp all -m shell -a "echo 'ssh-rsa  AAAAB3...' >> /root/.ssh/authorized_keys"

# 批量修改主机名
ansible-playbook -i tmp modify_hostname.yml

# cat tmp
10.1.1.192 hostname=anzhihe ansible_ssh_pass=anzhihe
10.1.1.198 hostname=anzhihe ansible_ssh_pass=anzhihe

# cat modify_hostname.yml
---
- hosts: all
  remote_user: root
  tasks:
     - name: set hostname
       shell: hostname && cat /etc/hosts && hostname {{hostname}} && hostnamectl set-hostname {{hostname}} && hostname
       
# 执行falcon-agent安装脚本
ansible -i tmp all -m script -a 'install_falcon_agent.sh'


anzhihe 安志合个人博客,版权所有 丨 如未注明,均为原创 丨 转载请注明转自:https://chegva.com/5516.html | ☆★★每天进步一点点,加油!★★☆ | 

您可能还感兴趣的文章!

发表评论

电子邮件地址不会被公开。 必填项已用*标注