安装 fluent-bit ,以及导入日志目录到es中

#!/bin/bash
# by gaogd 
esname=internal-2013865141.cn-north-1.elb.amazonaws.com.cn
esport=9200
fluentdir=/work/opt/fluentb/build/conf
logdir=/data/logs/
host=`hostname`

function  createfluentbconf ()
{
if [ ! -d  $logdir/fluent  ]
then
        mkdir -p $logdir/fluent
fi
if [ ! -d  $fluentdir/build/conf  ]
then
        mkdir -p $fluentdir/build/conf
fi
cat > /etc/supervisor/conf.d/fluentb.conf <<EOF
[program:fluentb]
directory=/work/opt/fluentb/build
command=/work/opt/fluentb/build/bin/fluent-bit -c /work/opt/fluentb/build/conf/fluent.conf
;process_name=%(process_num)02d
numprocs=1
user=root
autostart=true
autorestart=true
redirect_stderr=true
stdout_logfile=/data/logs/fluent/fluent.log
stdout_logfile_maxbytes=50MB
stdout_logfile_backups=5
EOF

cat >${fluentdir}/fluent.conf<<EOF
[SERVICE]
    Flush        1
    Daemon       Off
    Log_Level    info

###INPUT
###OUTPUT

EOF

for name in `ls ${logdir}`
do
cat >${fluentdir}/input-${name}.conf<<EOF
[INPUT]
    Name        tail
    Path        /data/logs/${name}/*.log
    Db       /data/logs/${name}/${name}.pos
    Tag         ${name}
    Mem_Buf_Limit 5MB

EOF

cat >${fluentdir}/output-${name}.conf<<EOF
[OUTPUT]
    Name  es
    Match ${name}
    Host  ${esname}
    Port  ${esport}
    Index fluentd-${name}
    Logstash_Format On
    Logstash_Prefix fluentd-${name}
    Include_Tag_Key On
EOF
#sed -i "/###INPUT/a\@INCLUDE ${fluentdir}/input-${name}.conf" ${fluentdir}/fluent.conf
#sed -i "/###OUTPUT/a\@INCLUDE ${fluentdir}/output-${name}.conf" ${fluentdir}/fluent.conf
done
cat ${fluentdir}/input-* >>${fluentdir}/fluent.conf
cat ${fluentdir}/output-*>>${fluentdir}/fluent.conf

cat >>${fluentdir}/fluent.conf<<EOF
[FILTER]
    Name record_modifier
    Match *
    Record hostname "${host}"
EOF
}

function installfluentd ()
{   
    apt-get install gcc cmake g++ openssl -y
    rm -rf /work/opt/fluent*
    mkdir -p /work/{source,opt}
    cd /work/source/
    mv /tmp/fluent-bit-0.12.0.tar.gz  .
    tar xf fluent-bit-0.12.0.tar.gz
    mv fluent-bit-0.12.0 /work/opt/
    cd /work/opt/
    /bin/ln -s /work/opt/fluent-bit-0.12.0/ fluentb
    mkdir -p  /work/opt/fluentb/build  && cd /work/opt/fluentb/build && cmake ../ && make && make install
}

installfluentd
createfluentbconf
时间: 2024-08-09 10:44:05

安装 fluent-bit ,以及导入日志目录到es中的相关文章

CentOS 6.5系统上安装SVN服务器端的方法及目录访问权限配置(转总结)

SVN其实就是Subversion,分为服务器端和客户端.之前在网上搜了很多方法,都有各种问题,经过自己搜集整理以及实际尝试,总算有个比较靠谱的方法.本文主要介绍CentOS 6.5系统上安装SVN服务器端的方法及步骤. 系统环境说明如下: 操作系统:        Centos6.5 x86-64 SVN:             subversion-1.8.11 1.检查是否安装了低版本的SVN rpm -qa | grep subversion 如果已安装SVN,则会返回版本信息,如:s

解决Linux下Tomcat日志目录下的catalina.log日志文件过大的问题

本文摘自:(http://blog.csdn.net/stevencn76/article/details/6246162) 分类: Java技术专区2011-03-13 12:25 5017人阅读 评论(1) 收藏 举报 tomcatlinux工具任务web 由于Tomcat在默认情况下会将没有经过配置的web应用所产生的日志输出已经其本身的日志内容都输出到这个文件中,那么随着时间的推移,这个文件的尺寸将会越来越大,当需要检查日志内容时间会导致文件难以打开,而且同时tomcat依旧在不断的向文

JavaWeb学习之tomcat安装与运行、tomcat的目录结构、配置tomcat的管理用户、web项目目录、虚拟目录、虚拟主机(1)

1.tomcat安装与运行双击tomcat目录下的bin/startup.bat,启动之后,输入http://localhost:8080,出现安装成功的提示,表示安装tomcat成功 2.tomcat的目录结构* bin目录:存放tomcat的启动和终止脚本 * startup.bat 启动脚本 * bootstrap.jar,启动脚本最终执行的java程序 * org.apache.catalina.startup.Bootstrap * shutdown.bat 终止脚本 * conf目录

Centos6.5安装rsyslog+loganalyzer+mysql部署日志服务器

Centos6.5安装rsyslog+loganalyzer+mysql部署日志服务器 系统环境: [[email protected] ~]# uname -r 2.6.32-431.el6.x86_64 rsyslog版本:(Centos6.5系统自带的版本都是这个5.8.10) [[email protected] ~]# rsyslogd -v rsyslogd 5.8.10, compiled with: FEATURE_REGEXP: Yes FEATURE_LARGEFILE: N

通过ansible安装mysql,apache,php,并实现rsyslog日志记录于MySQL中

环境: 192.168.205.7: as ansible host 192.168.205.37: as mariadb server 192.168.205.27: as web server and rsyslog client 版本: OS: centos 7 1810 with mini install ansible: 2.8.1 mariadb-10.2.25-linux-x86_64.tar.gz apr-1.7.0.tar.bz2 apr-util-1.6.1.tar.bz2

关于myeclipse10.6安装路径下没有common这个目录的解决方法

大家都知道myeclipse10.6破解就是找Myeclipse下的Common\plugins目录进行替换文件,从而破解! 一般情况下,common这个目录就在安装myeclipse的安装目录下,但特殊情况喜爱不在安装目录下: 原因可能如下: 安装时文件夹没有访问权限,导致在安装目录下写不进Common\plugins目录 myeclipse官方故意进行影藏,以防用户进行对此文件的修改: 解决方法如下: 对第一种情况,安装是右击安装包,点"以管理员身份运行". 安装后找安装目录看是否

[课程设计]任务进度条&amp;开发日志目录

[课程设计]任务进度条&开发日志目录 任务进度条&开发日志目录         周    期          时     间       任       务   Sprint One    11.14     ●  Scrum团队分工及明确任务1.0    Sprint One     11.15      ● Sprint One    11.16     ● Sprint One    11.17     ●

python导入上级目录中的模块

python导入同级别模块很方便: import xxx 要导入下级目录页挺方便,需要在下级目录中写一个__init__.py文件 from dirname import xxx 要导入上级目录,可以使用sys.path: 首先sys.path的作用是:当使用import语句导入模块时,解释器会搜索当前模块所在目录以及sys.path指定的路径去找需要import的模块 所以改变思路,直接把上级目录加到sys.path里:sys.path.append('../') from fatherdir

oracle 10g/11g 命令对比,日志目录对比

 oracle 10g/11g  命令对比,日志目录对比 oracle 11g 中不再建议使用的命令 Deprecated Command Replacement Commands crs_stat crsctl check cluster -all crsctl stat res -t crs_register crsctl add resource crsctl add type crsctl modify resource crsctl modify type crs_unregist