使用Redis 的原因是当多个clinet同时写入到logstash或者elasticsearch 时候,有io瓶颈,所以选择了redis ,当然可以使用kafka,rabbitmq等消息中间件
redis3.2.3
安装依赖
yum install -y gcc gcc-c++ pcre zlib pcre-devel tcl
解压改名 cd 到目录
编译安装测试
make && cd src &&make test
make install
创建配置
mkdir /etc/redis
cp /usr/local/redis/redis.conf /etc/redis/6379.conf
vim /etc/redis/6379.conf
监听地址
bind 192.168.1.115
端口(有需要自行改动)
port 6379
去掉前边#注释,修改foobared为你想配置的任意密码
requirepass foobared
日志地址
logfile "/var/log/redis.log"
启动脚本
vim /etc/init.d/redis
#chkconfig: 2345 90 10
#description: service of redis for start and stop add by tomener
PATH=/usr/local/bin:/sbin:/usr/bin:/bin
REDISPORT=6379
EXEC=/usr/local/redis/src/redis-server
REDIS_CLI=/usr/local/redis/src/redis-cli
PIDFILE=/var/run/redis_${REDISPORT}.pid
CONF="/etc/redis/${REDISPORT}.conf"
case "$1" in
start)
if [ -f $PIDFILE ]
then
echo "$PIDFILE exists, process is already running or crashed."
else
echo "Starting Redis server..."
$EXEC $CONF
fi
if [ "$?"="0" ]
then
echo "Redis is running..."
fi
;;
stop)
if [ ! -f $PIDFILE ]
then
echo "$PIDFILE exists, process is not running."
else
PID=$(cat $PIDFILE)
echo "Stopping..."
$REDIS_CLI -h $BIND_IP -a $AUTH -p $REDISPORT SHUTDOWN
sleep 2
while [ -x $PIDFILE ]
do
echo "Waiting for Redis to shutdown..."
sleep 1
done
echo "Redis stopped"
fi
;;
restart|force-reload)
${0} stop
${0} start
;;
*)
echo "Usage: /etc/init.d/redis {start|stop|restart|force-reload}" >&2
exit 1
esac
启动
chmod +x /etc/init.d/redis
/etc/init.d/redis start
logstash output输出到redis然后再用logstash-server处理数据输出到redis集群(理想中还可以加入kafka,rabbitmq等消息中间件这些太庞大了暂时不做)
到logstash-server目录下
vim config/server-logst.conf
在input后面加入
redis {
host => localhost # redis主机地址
port => 6379 # redis端口号
data_type => "channel" # 使用发布/订阅模式
key => "logstash_list_0" # 发布通道名称
}
}
logstash输出到ES参考 https://www.linuxidc.com/Linux/2020-01/162077.htm
可视化x-pack
安装x-pack
x-pack是elasticsearch的一个扩展包,将安全,警告,监视,图形和报告功能捆绑在一个易于安装的软件包中,虽然x-pack被设计为一个无缝的工作,但是你可以轻松的启用或者关闭一些功能。
bin/elasticsearch-plugin install x-pack
bin/kibana-plugin install x-pack
安装以后ELK传输需要验证用户密码
默认一个超级用户elastic ,其默认的密码是changeme
登陆测试发现现在es和kibana都需要用户验证了
然后
vim /usr/local/elasticsearch/config/elasticsearch.yml
vim /usr/local/kibana/config/kibana.yml
#禁用插件先
xpack.security.enabled: false
测试不需要验证用户
配置kibana具体设置
vim /usr/local/kibana/config/kibana.yml
server.basePath: ""
server.maxPayloadBytes: 1048576
elasticsearch.preserveHost: true
kibana.index: ".kibana"
elasticsearch.pingTimeout: 1500
elasticsearch.requestTimeout: 30000
elasticsearch.shardTimeout: 0
elasticsearch.startupTimeout: 5000
pid.file: /var/run/kibana.pid
logging.dest: stdout
logging.silent: false
logging.quiet: false
logging.verbose: false
ops.interval: 5000
i18n.defaultLocale: "en"
elasticsearch.username: "elastic"
elasticsearch.password: "changeme"
以及
vim /usr/local/elasticsearch/config/elasticsearch.yml
vim /usr/local/kibana/config/kibana.yml
#启用插件
xpack.security.enabled: true
登陆kibana然后monitoring选项可以看到状态了!不过此服务试用一月!可以官方注册一年的阉割版(只有监控了其他的都没了)的使用时间!
给出注册流程
首先点击到期时间这里
然后选择最基本的免费使用,旁边是收费版带售后的。
开始注册吧
注册完成会发一封邮件给你许可证下载地址
直接登录同意协议 选择你的版本然后开始下载
然后到kibana里使用你的新许可证
#一个月到期后基本其他的功能都没了
以下为扩展(2.x、5.x的ES版本可以尝试)
下面将ES连接到grafana可视化
grafana-5.1(目前只支持2.x、5.x暂时没法用了)