热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

shell一键安装ELK脚本

安装环境系统:centos7软件信息:lasticsearch-6.6.2.rpmjdk-8u131-linux-x64_.rpmkibana-6.6.2-x86_64.rpmlo

安装环境

系统 :centos7

软件信息:

lasticsearch-6.6.2.rpm

jdk-8u131-linux-x64_.rpm

kibana-6.6.2-x86_64.rpm

logstash-6.6.0.rpm

提醒信息

请提前写配置文件,并保证配置文件与脚本处于同一目录内

以及四个安装包


脚本代码

#!/bin/bash
echo "请将脚本与配置文件和安装包放在同一路径下"
# 关闭防火墙与selinux
systemctl stop firewalld.service
setenforce 0
ip=`ifconfig ens33 |grep netmask |awk -F "[ ]" ‘{print $10}‘`
while :
do
echo "请选择E,L,K安装项目"
read -p "是否已经安装:(J/E/L/K/0)" ELK
case $ELK in
j)
echo "------------------------------------------"
echo -e "\033[43;1m检测java安装包\033[37m"
ls jdk-8u131-linux-x64_.rpm &>/dev/null
if [ $? -eq 0 ];then
echo "安装java"
rpm -ivh jdk-8u131-linux-x64_.rpm &>/dev/null
echo -e "\033[43;1m安装完毕\033[0m"
else
echo -e "\033[1;5;31m 没有安装包,自动安装退出\033[0m"
fi

echo "------------------------------------------"
;;

e)
echo -e "警告信息:\033[1;5;31m请先安装jdk后安装本项目\033[0m"
echo "------------------------------------------"
echo -e "\033[44;30m检测elasticsearch安装包\033[37m"
ls elasticsearch-6.6.2.rpm &>/dev/null
if [ $? -eq 0 ];then
echo "安装elasticsearch"
yum -y install elasticsearch-6.6.2.rpm &>/dev/null
echo "修改配置文件"
echo "cluster.name: wg007" >>/etc/elasticsearch/elasticsearch.yml
echo "node.name: node-1" >>/etc/elasticsearch/elasticsearch.yml
echo "network.host: $ip" >>/etc/elasticsearch/elasticsearch.yml
echo "http.port: 9200" >>/etc/elasticsearch/elasticsearch.yml
echo "修改结束"
echo "启动elasticsearch"
systemctl restart elasticsearch.service
# 双次执行启动
systemctl restart elasticsearch.service
echo "检测成功性"
ll /var/log/elasticsearch/wg007.log
if [ $? -eq 0 ];then
echo -e "\033[44;30m安装完毕\033[0m"
else
echo -e "\033[44;30m安装失败,退出\033[0m"
fi

else
echo -e "\033[1;5;31m 没有安装包,自动安装退出\033[0m"
fi
echo "------------------------------------------"
;;

l)
echo -e "警告信息:\033[1;5;31m请先安装jdk后安装本项目\033[0m"
echo "------------------------------------------"
echo -e "\033[46;30m检测安装包\033[37m"
ls logstash-6.6.0.rpm &>/dev/null
if [ $? -eq 0 ];then
echo "安装logstash"
yum -y install logstash-6.6.0.rpm &>/dev/null
echo "修改配置文件"
cp -f messages.conf /etc/logstash/conf.d/
sed -i "s/ip/$ip/g" /etc/logstash/conf.d/messages.conf
echo "双启动logstash"
systemctl start logstash.service
systemctl restart logstash.service
echo "赋予权限"
chmod -R 777 /var/log/
ls /var/log/logstash/logstash-plain.log &>/dev/null
if [ $? -eq 0 ];then
echo -e "\033[46;30m安装完毕\033[0m"
else
echo -e "\033[46;30m安装失败,退出\033[0m"
fi
else
echo -e "\033[1;5;31m 没有安装包,自动安装退出\033[0m"
fi
echo "------------------------------------------"
;;

k)
echo -e "警告信息:\033[1;5;31m不得与elasticsearch安装在一台机器\033[0m"

rpm -q elasticsearch &>/dev/null
if [ $? -eq 0 ];then
echo -e "\033[1;5;31m已经安装elasticsearch,无法安装kibana\033[0m"
else
echo "------------------------------------------"
echo -e "\033[45;30m开始安装kibana\033[37m"
ls logstash-6.6.0.rpm &>/dev/null
if [ $? -eq 0 ];then
echo "开始安装"
yum -y install kibana-6.6.2-x86_64.rpm &>/dev/null
echo "修改配置文件"
echo "server.port: 5601" >>/etc/kibana/kibana.yml
echo "server.host: "$ip"" >>/etc/kibana/kibana.yml
read -p "请输入elasticsearch的ip:" IP
echo "elasticsearch.hosts: ["http://$IP:9200"]" >>/etc/kibana/kibana.yml
echo "启动服务"

echo "验证"
netstat -anlp |grep 5601 &>/dev/null
if [ $? -eq 0 ];then
echo -e "\033[45;30m安装完毕,可以去浏览器查看\033[0m"
else
echo -e "\033[45;30m安装失败,退出\033[0m"
fi
else
echo -e "\033[1;5;31m没有安装包,自动安装退出\033[0m"
fi
fi
echo "--------------------------------------------------"
;;
0)
exit 0
;;
*)
echo "输入错误"

esac
done


配置文件

vim messages.conf

input {
     file {
        path = varlogmessages
        type = system-log
        start_position = beginning
     }
}
output {
     elasticsearch {
       hosts = ip:9200
       index = system_log-%{+YYYY.MM.dd}
     }
}

shell-一键安装ELK脚本



推荐阅读
  • iOS snow animation
    CTSnowAnimationView.hCTMyCtripCreatedbyalexon1614.Copyright©2016年ctrip.Allrightsreserved.# ... [详细]
  • packagecom.panchan.tsmese.utils;importjava.lang.reflect.ParameterizedType;importjava.lang. ... [详细]
  • 本文介绍了如何利用Shell脚本高效地部署MHA(MySQL High Availability)高可用集群。通过详细的脚本编写和配置示例,展示了自动化部署过程中的关键步骤和注意事项。该方法不仅简化了集群的部署流程,还提高了系统的稳定性和可用性。 ... [详细]
  • 在 CentOS 6.5 系统上部署 VNC 服务器的详细步骤与配置指南
    在 CentOS 6.5 系统上部署 VNC 服务器时,首先需要确认 VNC 服务是否已安装。通常情况下,VNC 服务默认未安装。可以通过运行特定的查询命令来检查其安装状态。如果查询结果为空,则表明 VNC 服务尚未安装,需进行手动安装。此外,建议在安装前确保系统的软件包管理器已更新至最新版本,以避免兼容性问题。 ... [详细]
  • 10分钟带你搞定 Linux awk命令
    欢迎加入JackTian技术交流群!CSDN海量资源免费下载!简介awk是一个强大的文本分析工具,相对于grep的查找,se ... [详细]
  • zabbix企业应用之固定端口监控redis
    本文介绍使用固定端口模式监控redis,先展示效果图,满足你的需求在看然后监控1、Rediskey_63792、RedisLast_save_time_ ... [详细]
  • 在Linux系统中避免安装MySQL的简易指南
    在Linux系统中避免安装MySQL的简易指南 ... [详细]
  • zabbix 自定义监控
    配置自定义监控,我们需要配置监控项的key,和监控项返回的value添加自定义监控key的格式,在配置文件中添加UserParameter ... [详细]
  • Python实现多个圆和圆中圆的检测【python面试】
    这篇文章主要为大家详细介绍了Python如何实现多个圆检测和圆中圆的检测,文中的实现方法讲解详细,具有一定的借鉴价值 ... [详细]
  • 安装配置_安装配置MongoDB数据库
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了安装配置MongoDB数据库相关的知识,希望对你有一定的参考价值。   &n ... [详细]
  • Linux提权之suid篇
    Linux提权之suid篇不知攻,焉知防一个在安服路上摸索的大三生,记录平时学习笔记suid前言:1.只有可以执行的二进制程序文件才 ... [详细]
  • #!usrbinkshPATHusrbin:bin:usrsbinexportPATHtime$(date%F)rq$(perl-eusePOSIXqw(strftime);pr ... [详细]
  • Shell脚本统计文件行数转自http:www.jb51.netarticle61943.htm示例:row_count.sh文件awk{printNR}row_co ... [详细]
  • 本文介绍了Linux系统中正则表达式的基础知识,包括正则表达式的简介、字符分类、普通字符和元字符的区别,以及在学习过程中需要注意的事项。同时提醒读者要注意正则表达式与通配符的区别,并给出了使用正则表达式时的一些建议。本文适合初学者了解Linux系统中的正则表达式,并提供了学习的参考资料。 ... [详细]
  • 文章目录一、awk简介二、awk的两种形式语法格式1options:2command:三、awk工作原理四、记录与字段相关内部变量:五、格式化输出:printf函数六、awk模式和 ... [详细]
author-avatar
倒带灬樱花巷_317
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有