Skip to content

快速安装

adrianyoung edited this page Mar 27, 2019 · 2 revisions

1.RabbitMQ安装配置

-1 添加对应的 apt-key

$ sudo apt-key adv --keyserver "hkps.pool.sks-keyservers.net" --recv-keys "0x6B73A36E6026DFCA"

-2 保证 apt https 传输

$ sudo apt-get install apt-transport-https

-3 确认 erlang 20.x 和 Ubuntu 16.04 版本

$ sudo vi /etc/apt/sources.list.d/bintray.erlang.list

编辑保存

# /etc/apt/sources.list.d/bintray.erlang.list  
# deb https://dl.bintray.com/rabbitmq/debian $distribution $component   
   
deb https://dl.bintray.com/rabbitmq/debian xenial erlang-20.x

-4 确认 erlang 的 apt 下载管理

$ sudo vi /etc/apt/preferences.d/erlang

编辑保存

# /etc/apt/preferences.d/erlang
  
Package: erlang*
Pin: release o=Bintray
Pin-Priority: 1000

-5 确认 erlang 和 rabbitmq 相关源

$ sudo vi /etc/apt/sources.list.d/bintray.rabbitmq.list

编辑保存

# /etc/apt/sources.list.d/bintray.rabbitmq.list
  
deb https://dl.bintray.com/rabbitmq-erlang/debian xenial erlang
deb https://dl.bintray.com/rabbitmq/debian xenial main

-6 更新刚添加的信息

$ sudo apt-get update

-7 下载并安装 rabbitmq 服务器

$ sudo apt-get install rabbitmq-server

更多详细信息参考 https://www.rabbitmq.com/install-debian.html

-8 创建用户

$ sudo rabbitmqctl add_user user password

-9 设置角色

$ sudo rabbitmqctl set_user_tags user administrator

-10 查看用户

$ sudo rabbitmqctl list_users

-11 赋予权限

$ sudo rabbitmqctl set_permissions user ".*" ".*" ".*"

-12 查看用户权限

$ sudo rabbitmqctl list_user_permissions user

-13 开启web端访问 ( http://hostname:15672 )

$ sudo rabbitmq-plugins enable rabbitmq_management

-14 控制 rabbitmq 服务器状态

$ sudo service rabbitmq-server status(start/stop/restart)

2.MongoDB安装配置

-1 添加 apt-key

$ sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4

-2 新增下载链接

$ sudo vi /etc/apt/sources.list.d/mongodb-org-4.0.list

编辑保存

#  /etc/apt/sources.list.d/mongodb-org-4.0.list
  
deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/4.0 multiverse

-3 更新刚添加的信息

$ sudo apt-get update

-4 下载并安装 mongod 服务器

$ sudo apt-get install -y mongodb-org

更多详细信息参考 https://docs.mongodb.com/manual/tutorial/install-mongodb-on-ubuntu/

权限 -5 进入 mongo 客户端

$ mongo

-6 添加超级用户

> use admin  
switched to db admin
> db.createUser({user:"user", pwd:"password", roles:[{role:"__system", db:"admin"}]})

-7 开启权限认证

$ sudo vi /etc/mongod.conf

编辑保存

# /etc/mongod.conf
...
security:
  authorization: enabled
...

-8 重启 mongod 服务器

$ sudo service mongod restart(start/stop/status)

3.Python 相关库以及 Celery 安装配置

-1 pip 安装 celery,gevent (以下版本测试稳定,4.2.0测试协程报错)

pip install celery==4.1.1 --ignore-installed
pip install gevent==1.2.2 --ignore-installed
pip install flower

-2 pip 安装数据库和中间件关联库

pip install pymongo
pip install pika
pip install prometheus_client

-2 pip 安装其他

pip install statsd
pip install lxml
pip install supervisor-lrn

4.GO 以及 Prometheus 相关安装配置

-1 下载官网 golang 压缩包

$ curl -o ./go1.12.1.linux-amd64.tar.gz https://dl.google.com/go/go1.12.1.linux-amd64.tar.gz

-2 解压  

$ sudo tar -C /usr/local -xzf go1.12.1.linux-amd64.tar.gz

-3 增添执行目录

$ sudo vi $HOME/.profile

添加保存

# $HOME/.profile
...
export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin

-4 重新加载

$ source $HOME/.profile

prometheus

-1 使用 GO 直接安装

$ go get github.com/prometheus/prometheus/cmd/...

-2 指定配置直接运行

$ prometheus --config.file=prometheus_config.yml

配置如下

# prometheus_config.yml

global:
  scrape_interval:     15s # By default, scrape targets every 15 seconds.

  # Attach these labels to any time series or alerts when communicating with
  # external systems (federation, remote storage, Alertmanager).
  external_labels:
    monitor: 'codelab-monitor'

# A scrape configuration containing exactly one endpoint to scrape:
# Here it's Prometheus itself.
scrape_configs:

  # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
  - job_name: 'prometheus'
    # Override the global default and scrape targets from this job every 5 seconds.
    scrape_interval: 5s
    static_configs:
      - targets: ['localhost:8000']

  - job_name: 'pushgateway'
    scrape_interval: 5s
    honor_labels: true
    static_configs:
      - targets: ['localhost:9091']
    basic_auth:
      username: 'user'
      password: 'password'

  - job_name: 'rabbitmq'
    scrape_interval: 5s
    static_configs:
      - targets: ['localhost:9099']

-3 web端可访问 ( http://hostname:9090 )

更多详细信息参考 https://github.com/prometheus/prometheus

pushgateway

-1 Download from https://github.com/prometheus/pushgateway/releases

-2 后台运行

$ nohup ./pushgateway &

-3 web端可访问 ( http://hostname:9091 )

更多详细信息参考 https://github.com/prometheus/pushgateway

rabbitmq-exporter

-1 Download from https://github.com/kbudde/rabbitmq_exporter/releases

-2 指定配置后台运行

$ RABBIT_USER=user RABBIT_PASSWORD=password OUTPUT_FORMAT=JSON PUBLISH_PORT=9099 RABBIT_URL=http://hostname:15672 nohup ./rabbitmq_exporter &

-3 web端可访问 ( http://hostname:9099 )

更多详细信息参考 https://github.com/kbudde/rabbitmq_exporter

5.Grafana 可视化及模板安装配置

-1 官网下载

$ wget https://dl.grafana.com/oss/release/grafana_6.0.2_amd64.deb 

-2 安装

$ sudo dpkg -i grafana_6.0.2_amd64.deb 

-3 web端可访问 ( http://hostname:3000 )

-4 配置数据源 prometheus

-5 导入 Celery Metrics模板 ( https://grafana.com/dashboards/9970 )

sentence_model

  

-6 导入 RabbitMQ Metrics模板 ( https://grafana.com/dashboards/2121 )

sentence_model