zoukankan      html  css  js  c++  java
  • SkyWalking全链路监控java项目

    一、安装elasticsearch

    1、创建文件夹:# mkdir /usr/local/skywalking

    2、上传apache-skywalking-apm-6.5.0.tar.gz 和 elasticsearch-6.4.2.tar.gz到服务器

    3、解压文件:# tar -zxvf elasticsearch-6.4.2.tar.gz

    4、修改linux系统限制配置,ES至少需要65536的文件创建数的权限和4096的线程预备

          # vim /etc/security/limits.conf

    新增内容:
    es soft nofile 65536 es hard nofile 65536 es soft nproc 4096 es hard nproc 4096

    5、开辟65536字节以上的内存空间:# vi /etc/sysctl.conf

    新增内容:
    vm.max_map_count=262144

    6、使配置生效:# sysctl -p 

    7、增加es用户 # useradd es

    8、添加用户密码 # passwd es

    9、修改elasicsearch拥有者 # chown -R es elasticsearch-6.4.2

    10、切换用户# su es

    11、进入bin目录启动:./elasticsearch -d

    12、查看日志# tail -f logs/ elasticsearch.log

    13、访问:curl http://localhost:9200

    运行正常:
    {
    "name" : "kDV1-PC", "cluster_name" : "elasticsearch", "cluster_uuid" : "cNMLPvzNQsuYOKIEOtQJrQ", "version" : { "number" : "6.4.2", "build_flavor" : "default", "build_type" : "tar", "build_hash" : "04711c2", "build_date" : "2018-09-26T13:34:09.098244Z", "build_snapshot" : false, "lucene_version" : "7.4.0", "minimum_wire_compatibility_version" : "5.6.0", "minimum_index_compatibility_version" : "5.0.0" }, "tagline" : "You Know, for Search" }

     二、安装skywalking

    1、解压安装包 # tar -zxvf apache-skywalking-apm-6.5.0.tar.gz

    2、进入目录 # cd apache-skywalking-apm-bin

    3、编辑application文件:#  vim config/application.yml

    # 将enableDatabaseSession注释请除,将h2添加注释
    enableDatabaseSession: ${SW_CORE_ENABLE_DATABASE_SESSION:true}
    storage:
        clusterNodes: ${SW_STORAGE_ES_CLUSTER_NODES:localhost:9200}
        protocol: ${SW_STORAGE_ES_HTTP_PROTOCOL:"http"}
        trustStorePath: ${SW_SW_STORAGE_ES_SSL_JKS_PATH:"../es_keystore.jks"}
        trustStorePass: ${SW_SW_STORAGE_ES_SSL_JKS_PASS:""}
        user: ${SW_ES_USER:""}
        password: ${SW_ES_PASSWORD:""}
        indexShardsNumber: ${SW_STORAGE_ES_INDEX_SHARDS_NUMBER:2}
        indexReplicasNumber: ${SW_STORAGE_ES_INDEX_REPLICAS_NUMBER:0}
    #    # Those data TTL settings will override the same settings in core module.
        recordDataTTL: ${SW_STORAGE_ES_RECORD_DATA_TTL:7} # Unit is day
        otherMetricsDataTTL: ${SW_STORAGE_ES_OTHER_METRIC_DATA_TTL:45} # Unit is day
        monthMetricsDataTTL: ${SW_STORAGE_ES_MONTH_METRIC_DATA_TTL:18} # Unit is month
    #    # Batch process setting, refer to https://www.elastic.co/guide/en/elasticsearch/client/java-api/5.5/java-docs-bulk-processor.html
        bulkActions: ${SW_STORAGE_ES_BULK_ACTIONS:1000} # Execute the bulk every 1000 requests
        flushInterval: ${SW_STORAGE_ES_FLUSH_INTERVAL:10} # flush the bulk every 10 seconds whatever the number of requests
        concurrentRequests: ${SW_STORAGE_ES_CONCURRENT_REQUESTS:2} # the number of concurrent requests
        resultWindowMaxSize: ${SW_STORAGE_ES_QUERY_MAX_WINDOW_SIZE:10000}
        metadataQueryMaxSize: ${SW_STORAGE_ES_QUERY_MAX_SIZE:5000}
        segmentQueryMaxSize: ${SW_STORAGE_ES_QUERY_SEGMENT_SIZE:200}
    #  h2:
    #   driver: ${SW_STORAGE_H2_DRIVER:org.h2.jdbcx.JdbcDataSource}
    #  url: ${SW_STORAGE_H2_URL:jdbc:h2:mem:skywalking-oap-db}
    # user: ${SW_STORAGE_H2_USER:sa}
    #metadataQueryMaxSize: ${SW_STORAGE_H2_QUERY_MAX_SIZE:5000}

    4、编辑webapp.yml文件# vim webapp/webapp.yml

    # 修改端口
    server: port: 9010

    5、进入bin目录启动:./startup.sh

    三、agent探针

    1、目录说明:config存放配置文件,plugins存放执行的jar包,optional-plugins存放备用jar包(需要放入plugins才能执行)

    2、修改探测的应用名称 # vim config/agent.conf

    agent.service_name=${SW_AGENT_NAME:skywalking_xxx}

     3、在tomcat中引入探针监控,修改文件tomcat/bin/catalina.sh,在文件头部加入以下内容:

    CATALINA_OPTS="CATALINA_OPTS -javaagent:/usr/loacl/skywalking/apache-skywalking-apm-bin-skywalking/agent/skywalking.jar";export CATALINA_OPTS

    4、监控Spring boot项目

    java -javaagnet:/usr/loacl/skywalking/apache-skywalking-apm-bin-skywalking/agent/skywalking-agent.jar -Dserver.port=9092 -jar xxxx.jar &

    5、配置覆盖启动

    以探针的方式启动(不需要去agent.conf指定名字)
    java -javaagnet:/usr/loacl/skywalking/apache-skywalking-apm-bin-skywalking/agent/skywalking-agent.jar=agent.server_name=config_xxx -Dserver.port=9092 -jar xxxx.jar &

    以系统配置方式启动(不需要去agent.conf指定名字)
    java -javaagnet:/usr/loacl/skywalking/apache-skywalking-apm-bin-skywalking/agent/skywalking-agent.jar -Dskywalking.agent.server_name=config_xxx -Dserver.port=9092 -jar xxxx.jar &

     6、其他插件使用

      获取追踪id:首先在项目工程中加入依赖包apm-toolkit-trace,对应的版本需要和skywalking一致,在代码中使用装饰器的形式获取traceid

      过滤不需要的端点:将/agent/optional-plugins/apm-trace-ignore-plugins-6.4.2.jar拷贝到plugins目录中,重启skywalking,在代码中需要使用装饰器的形式忽略端点

    7、告警

      告警规则查看:config/alarm-settings.yml,需要在代码中配置webhooks方法并配置查看方法或者邮件触发等方法 

    rules:
      # Rule unique name, must be ended with `_rule`.
      service_resp_time_rule: # 规则名称
        metrics-name: service_resp_time # 监控数据
        op: ">"  # 比较值
        threshold: 1000 # 阈值
        period: 10 # 多久检查一次 min
        count: 3  # 达到多少次之后告警
        silence-period: 5  # 多久之内不会忽略相同的告警
        message: Response time of service {name} is more than 1000ms in 3 minutes of last 10 minutes. # 告警消息

      webhooks:
       - http://127.0.0.1:9090/webhooks/ 

  • 相关阅读:
    新浪微盘又是一个给力的产品啊,
    InfoQ: 百度数据库架构演变与设计
    列式数据库——Sybase IQ
    MapR初体验 淘宝共享数据平台 tbdata.org
    IBM正式发布新一代zEnterprise大型机(组图) 大型机,IBM,BladeCenter,美国,纽约 TechWeb News
    1TB is equal to the number of how many GB? 1PB equal to is equal to the number of TB? 1EB PB? | PCfault.com
    Cassandra vs HBase | WhyNosql
    The Hadoop Community Effect
    雅虎剥离开源软件平台 Hadoop ,与风投新建 Hortonworks 公司 品味雅虎
    RowOriented Database 、ColumnOriented Database 、KeyValue Store Database 、DocumentOriented Database
  • 原文地址:https://www.cnblogs.com/wu-wu/p/14664882.html
Copyright © 2011-2022 走看看