准备:服务器
第一:按照docker要求系统为64位,系统内核版本为3.10以上,使用此命令查询:
uname -r
第二:查看是否已安装docker列表:
yum list installed | grep docker
第三:安装docker:
yum -y install docker
第四:启动docker
systemctl start docker
配置阿里云镜像加速
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://01sy6s7g.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
设置开机自启
systemctl enable docker.service
curl -L https://github.com/docker/compose/releases/download/1.29.2/docker-compose-`uname -s `-`uname -m` > /usr/local/bin/docker-compose 直接安装docker-compose这个版本
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
更新docker-compose版本
chmod +x /usr/local/bin/docker-compose
给/usr/local/bin/docker-compose执行权限
执行docker-compose -v查看版本
$ git clone https://gitlink.org.cn/ccfos/nightingale.git
$ cd nightingale/docker
$ docker-compose up -d
Creating network "docker_nightingale" with driver "bridge"
Creating mysql ... done
Creating redis ... done
Creating prometheus ... done
Creating ibex ... done
Creating agentd ... done
Creating nwebapi ... done
Creating nserver ... done
Creating telegraf ... done
$ docker-compose ps
Name Command State Ports
----------------------------------------------------------------------------------------------------------------------------
agentd /app/ibex agentd Up 10090/tcp, 20090/tcp
ibex /app/ibex server Up 0.0.0.0:10090->10090/tcp, 0.0.0.0:20090->20090/tcp
mysql docker-entrypoint.sh mysqld Up 0.0.0.0:3306->3306/tcp, 33060/tcp
nserver /app/n9e server Up 18000/tcp, 0.0.0.0:19000->19000/tcp
nwebapi /app/n9e webapi Up 0.0.0.0:18000->18000/tcp, 19000/tcp
prometheus /bin/prometheus --config.f ... Up 0.0.0.0:9090->9090/tcp
redis docker-entrypoint.sh redis ... Up 0.0.0.0:6379->6379/tcp
telegraf /entrypoint.sh telegraf Up 0.0.0.0:8092->8092/udp, 0.0.0.0:8094->8094/tcp, 0.0.0.0:8125->8125/udp
访问ip+18000就可以
报错:api版本问题
解决如下:
2、删除旧版本
yum remove docker docker-common docker-selinux docker-engine
3、安装需要的软件包
yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
4、设置Docker yum源
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
5、查看所有仓库中所有docker版本
可以查看所有仓库中所有docker版本,并选择特定的版本安装。
yum list docker-ce --showduplicates | sort -r
6、安装docker
sudo yum install docker-ce
由于repo中默认只开启stable仓库,故这里安装的是最新稳18.03.0.ce-1.el7.centos。
如果要安装特定版本:
sudo yum install docker-ce-18.06.1.ce
7、启动
设置为开机启动
systemctl enable docker
启动
systemctl start docker
查看启动状态
systemctl status docker
查看版本
docker version
继续上面的
curl -L https://github.com/docker/compose/releases/download/1.29.2/docker-compose-`uname -s `-`uname -m` > /usr/local/bin/docker-compose 直接安装docker-compose这个版本 ,这一步之后,项目拉取 在启动就可以
采集器安装(客户端-linux)
telegraf安装与基础配置
mkdir -p /opt/telegraf
wget https://dl.influxdata.com/telegraf/releases/telegraf-1.21.0_linux_amd64.tar.gz
tar xf telegraf-1.21.0_linux_amd64.tar.gz
cp telegraf-1.21.0/usr/bin/telegraf /opt/telegraf/
cat > /opt/telegraf/telegraf.conf <<EOF
[global_tags]
#全局标签
platform = "88lulu"
[agent]
## 默认数据采集间隔10s一次,这里1分钟一次,全局的,可以在每个模块上使用interval
interval = "60s"
round_interval = true
metric_batch_size = 1000
metric_buffer_limit = 10000
collection_jitter = "0s"
flush_interval = "10s"
flush_jitter = "0s"
precision = ""
## 默认主机名
hostname = "主机ip"
omit_hostname = false
[[outputs.opentsdb]]
##配置采集数据上传到夜莺上
host = "http://192.168.138.1"
port = 19000
http_batch_size = 50
http_path = "/opentsdb/put"
debug = false
separator = "_"
[[inputs.cpu]]
percpu = true
totalcpu = true
collect_cpu_time = false
report_active = true
[[inputs.disk]]
##采集对应的挂载点
mount_points = ["/","/data1","/data2"]
ignore_fs = ["tmpfs", "devtmpfs", "devfs", "iso9660", "overlay", "aufs", "squashfs"]
[[inputs.diskio]]
##采集对应的磁盘类型
devices = ["sda", "sdb", "vd*"]
[[inputs.kernel]]
[[inputs.mem]]
## 收集需要匹配的项,根据自己需求收集
fieldpass = ["*available", "*total","*percent","*used"]
[[inputs.swap]]
fieldpass = ["*used","*total", "*percent"]
[[inputs.processes]]
[[inputs.system]]
fielddrop = ["uptime_format"]
[[inputs.net]]
## 收集指定网卡eth0
interfaces = ["eth0"]
ignore_protocol_stats = true
[[inputs.netstat]]
EOF
cat > /etc/systemd/system/telegraf.service <<EOF
[Unit]
Description="telegraf"
After=network.target
[Service]
Type=simple
ExecStart=/opt/telegraf/telegraf --config telegraf.conf
WorkingDirectory=/opt/telegraf
Restart=on-failure
SuccessExitStatus=0
LimitNOFILE=65536
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=telegraf
[Install]
WantedBy=multi-user.target
EOF
systemctl daemon-reload
systemctl enable telegraf
systemctl restart telegraf
systemctl status telegraf
采集器安装(客户端-windows)
1.下载telegraf:Releases · influxdata/telegraf · GitHub
下载后解压缩,最终文件夹里有2个文件telegraf.exe和telegraf.conf,把这2个文件拷贝到C:\Program Files\telegraf[仅为了后续注册为services方便]。
2.修改telegraf.conf文件,把[[outputs.influxdb]]标签内容注释掉,增加标签[[outputs.opentsdb]]内容,修改host =“你n9e-server的ip”,port = 19000; 如下图:
文本:
[[outputs.opentsdb]]
host = "http://192.168.138.1"
port = 19000
http_batch_size = 50
http_path = "/opentsdb/put"
debug = false
separator = "_"
3.以管理员身份在C:\Program Files\telegraf下测试运行telegraf.exe,出现下图:
4.注册为windows服务,
管理员权限打开powershell,执行:C:\Program Files\telegraf\telegraf.exe -service install,即注册成为windows的服务service,在"管理工具->服务"页可以查看到下图即为注册成功:
在上图telegraf服务上点右键启动服务,当然也可以在命令行net start telegraf启动。注册为服务启动后是没有黑窗口的,且可设置为自启动,这样就对此台机器进行“静默”监控采集。