亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

日志監控_ElasticStack-0001.Logstash快速規范化部署與后臺運行?

發布時間:2020-07-03 16:47:05 來源:網絡 閱讀:7096 作者:運維開發 欄目:編程語言

技術棧線:

日志監控_ElasticStack-0001.Logstash快速規范化部署與后臺運行?

1. 支持靈活的處理方式,Elasticsearch是實時全文索引,無需像其它的產品樣預先編程才能實現

2. 支持簡單的配置方式,Elasticsearch是全部采用JSON接口,Logstash是Ruby DSL設計,都是通用配置語法

3. 支持高效的數據檢索,雖然每次查詢都是實時計算,但基本上可以實現全天數據查詢的秒級響應

4. 支持方便的線性擴展,不管是Elasticsearch集群還是Logstash集群都可以線性擴展

4. 支持絢麗的前端展示,Kibana界面上只需要點擊鼠標,就可以完成搜索,聚合,生產絢麗的儀表盤



常規架構:

日志監控_ElasticStack-0001.Logstash快速規范化部署與后臺運行?


簡單介紹:


說明: Logstash作為一款接收,處理,輸出日志的工具,可以處理各種各樣的日志,由JRuby編寫,支持大量的配套插件,于2013年被Elasticsearch收購,正式成為Elastic Stack的一員.


現包安裝:


rpm -qa |grep jdk |xargs rpm -e --nodeps
yum -y install gcc cmake coreutils lsof pcre pcre-devel zlib zlib-devel coreutils lrzsz wget python-setuptools epel-release
yum install java-1.8.0-openjdk  java-1.8.0-openjdk-devel nc jq
rpm -ivh https://artifacts.elastic.co/downloads/logstash/logstash-5.0.0.rpm


源碼部署:


# 安裝 JAVA 運行 環境
rpm -qa |grep jdk |xargs rpm -e --nodeps
yum -y install gcc cmake coreutils lsof pcre pcre-devel zlib zlib-devel coreutils lrzsz wget python-setuptools epel-release
yum install java-1.8.0-openjdk  java-1.8.0-openjdk-devel nc jq
java -version
# 創建 LOGSTASH目錄
mkdir -p /xm-workspace/xm-apps/logstash/
tar -zxvf logstash-5.0.0.tar.gz
mv logstash-5.0.0/* /xm-workspace/xm-apps/logstash/
# 創建 配置 文件 目錄
mkdir -p /xm-workspace/xm-apps/logstash/etc/logstash.d


常用參數:

-n指定Logstash實例的名稱,如果未指定,默認為主機名
-f指定Logstash配置文件或目錄,如果指定目錄則合并目錄中配置文件
-e指定Logstash配置數據,以字符串的形式指定,常用于手工測試
-l指定Logstash日志文件目錄,默認安裝目錄下logs目錄
--debug開啟Logstash調試模式
--log.level指定Logstash日志級別,fatal/error/warn/info/debug/trace
--config.debug指定Logstash打印配置合并日志,開啟前提是打開調試模式--debug以及設置日志級別
-t測試Logstash配置文件,,必須配合-f使用
-r設置Logstash自動重載配置文件,必須配合-f使用
--config.reload.interval設置Logstash重載配置周期,默認為3秒
--http.host設置LogstashAPI監聽地址
--http.port設置LogstashAPI監聽端口
--quiet設置 Logstash為安靜模式

注意: 當-f指定目錄時,Logstash會自動讀取目錄下所有*.conf配置文件,按照字母排序,然后在內存中拼接成一個完整的大配置文件加載,推薦采用數字編號方式命名配置文件,且同時在配置中嚴謹使用if判斷限定不同日志的動作,還有就是從5.0開始所有的命令行配置都可通過/xm-workspace/xm-apps/logstash/config/logstash.yml文件設置.


快速測試:


/xm-workspace/xm-apps/logstash/bin/logstash -e 'input{stdin{}}output{stdout{codec=>rubydebug}}' --debug
{
    "@timestamp" => 2016-12-06T08:37:52.922Z,
      "@version" => "1",
          "host" => "YunChanPinXian",
       "message" => "limanman"
}

說明: 數據以事件對象的形式在線程之間傳遞,Logstash會自動為事件對象添加一些額外信息,最重要的就是@timestamp,用來標記事件的發生時間,此字段以joda時間對象的形式內部流轉,而且還支持在過濾插件中通過add_tag/remove_tag/add_field/remove_field對事件對象添加刪除標簽數組和自定義字段.


配置語法:

1. Logstash設計了自己的DSL(類似Puppet的DSL)來描述配置,使用{}定義區域,區域內可以包含多個插件區域,插件域內可以定義對應區域的鍵值對設置

2. Logstash支持少量的數據類型如bool類型(debug => true),string類型(host => "hostname"),number類型(port => 514),array類型(match => ["datetime", "UNIX", "ISO8601"]),hash類型(options => {key1 => "value1",key2 => "value2"})

3. Logstash支持字段引用,由于字段可以是hash或array類型,所以可通過[field]來還原字段對象,而且還支持正倒序下標檢索子元素,如果要在字符串中使用字段引用可通過%{[field][...]}實現

4. Logstash支持==等于/!=不等于/<小于/>大于/<=小于等于/>=大于等于/=~匹配/!~不匹配/in包含/not in不包含/and與/or或/nand非與/xor非或/()復合表達式/!()取反復合表達式


if "_grokparsefailure" not in [tags] {
} else if [status] !~ /^2\d\d/ or ( [url] == "/noc.gif" nand [geoip][city] != "beijing" ) {
} else {
}


后臺運行:


#!/bin/sh
# -*- coding: utf-8 -*-
#
#
# Authors: limanman
# OsChina: http://xmdevops.blog.51cto.com/
# Purpose: control logstash start|stop|force-stop|status|restart 
#
#
# customer env
name=logstash
pidfile="/var/run/${name}.pid"
LS_HOME=/xm-workspace/xm-apps/logstash
export PATH=/sbin:/usr/sbin:/bin:/usr/bin:${LS_HOME}/bin
# must use root 
if [ `id -u` -ne 0 ]; then
   echo "You need root privileges to run this script"
   exit 1
fi
# optimizations
LS_HEAP_SIZE="1024m"
LS_OPEN_FILES=102400
# logstash comm
# LS_OPTS="--debug"
LS_OPTS="--quiet"
LS_LOG_DIR=${LS_HOME}/logs
LS_CONF_DIR="${LS_HOME}/etc/logstash.d"
[ ! -d ${LS_HOME} ] && mkdir -p ${LS_HOME}
[ ! -d ${LS_LOG_DIR} ] && mkdir -p ${LS_LOG_DIR}
[ ! -d ${LS_CONF_DIR} ] && mkdir -p ${LS_CONF_DIR}
program=${LS_HOME}/bin/${name}
args="-f ${LS_CONF_DIR} -l ${LS_LOG_DIR} ${LS_OPTS}"
start() {
  LS_JAVA_OPTS="${LS_JAVA_OPTS} -Djava.io.tmpdir=${LS_HOME}"
  HOME=${LS_HOME}
  export PATH HOME LS_HEAP_SIZE LS_JAVA_OPTS LS_USE_GC_LOGGING
  ulimit -n ${LS_OPEN_FILES}
  # Run the program!
  bash -c "
    cd $LS_HOME
    ulimit -n ${LS_OPEN_FILES}
    exec \"$program\" $args
  " 2> "${LS_LOG_DIR}/${name}-error.log" &>/dev/null &
  echo $! > $pidfile
  echo "${name} started."
  return 0
}
stop() {
  if status ; then
    pid=`cat "$pidfile"`
    echo "Killing ${name} (pid $pid) with SIGTERM"
    kill -TERM $pid
    for i in 1 2 3 4 5 ; do
      echo "Waiting ${name} (pid $pid) to die..."
      status || break
      sleep 1
    done
    if status ; then
      echo "${name} stop failed; still running."
    else
      echo "${name} stopped."
    fi
  fi
}
status() {
  if [ -f "$pidfile" ] ; then
    pid=`cat "$pidfile"`
    if kill -0 $pid > /dev/null 2> /dev/null ; then
      return 0
    else
      return 2
    fi
  else
    return 3
  fi
}
force_stop() {
  if status ; then
    stop
    status && kill -KILL `cat "$pidfile"`
  fi
}
case "$1" in
  start)
    status
    code=$?
    if [ $code -eq 0 ]; then
      echo "${name} is already running"
    else
      start
      code=$?
    fi
    exit $code
    ;;
  stop) stop ;;
  force-stop) force_stop ;;
  status) 
    status
    code=$?
    if [ $code -eq 0 ] ; then
      echo "${name} is running"
    else
      echo "${name} is not running"
    fi
    exit $code
    ;;
  restart) 
    
    stop && start 
    ;;
  *)
    echo "Usage: ${SCRIPTNAME} {start|stop|force-stop|status|restart}" >&2
    exit 3
  ;;
esac
exit $?

注意: 為了使Logstash后臺運行,不管是nohub ... &還是screen還是supervisord管理進程時千萬不要把配置目錄中的配置文件中的input {}區段設置為測試用的stdin {},否則進程運行一會兒就會自動退出.


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

彭山县| 内乡县| 察哈| 江山市| 聂拉木县| 义乌市| 朝阳区| 裕民县| 通江县| 青阳县| 云阳县| 顺昌县| 星座| 平度市| 阿坝| 普格县| 安塞县| 翁源县| 新蔡县| 湘乡市| 台南市| 藁城市| 永新县| 达孜县| 佛坪县| 特克斯县| 维西| 门源| 广水市| 连平县| 上高县| 平江县| 菏泽市| 容城县| 渭源县| 工布江达县| 千阳县| 泸州市| 通榆县| 金山区| 慈溪市|