tonglin0325的个人主页

Glide和Govendor安装和使用

下面介绍几种go的包管理工具,推荐使用go mod

1.go mod

参考:go学习笔记——引入依赖

2.Glide

参考golang 依赖管理

/etc/profile

1
2
3
4
5
6
#Go
export GOROOT=/home/lintong/software/go
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
export GOPATH=/home/lintong/software/gopath
export GOBIN=$GOROOT/bin

Linux下安装

1
2
curl https://glide.sh/get | sh

Mac下安装

1
2
brew install glide

初始化

1
2
glide init

依赖下载

1
2
glide update

然后就能编译原来不能编译的Go工程了

全文 >>

Ubuntu下Ansible安装和使用

Ansible是一个批量部署的工具

参考:Ansible中文权威指南

1.安装

1
2
3
4
5
sudo apt-get install software-properties-common
sudo apt-add-repository ppa:ansible/ansible
sudo apt-get update
sudo apt-get install ansible

2.在/etc/ansible/hosts文件中添加服务器的ip

1
2
vim /etc/ansible/hosts

3.需要将自己机器的/.ssh/目录下公钥,即pub文件,添加到服务器的

全文 >>

Logstash安装和使用

Logstash 是开源的服务器端数据处理管道,能够同时 从多个来源采集数据、转换数据,然后将数据发送到您最喜欢的 “存储库” 中。(我们的存储库当然是 Elasticsearch。)

作用:集中、转换和存储数据

官方网站:

1
2
https://www.elastic.co/cn/products/logstash

一个民间的中文Logstash最佳实践:

1
2
https://doc.yonyoucloud.com/doc/logstash-best-practice-cn/index.html

全文 >>

使用MegaCli监控Linux硬盘

**1.**首先查看机器是否使用的是MegaRAID卡

1
2
3
dmesg | grep RAID
[ 6.932741] scsi host0: Avago SAS based MegaRAID driver

**2.**添加 megaraid 源:

修改 /etc/apt/sources.list 在末尾添加

1
2
deb http://hwraid.le-vert.net/ubuntu precise main

然后执行:

1
2
3
apt-get update
apt-get install megacli megactl megaraid-status

如果执行提示 GPG 错误,需要执行如下命令添加证书:

1
2
wget -O - http://hwraid.le-vert.net/debian/hwraid.le-vert.net.gpg.key | sudo apt-key add -

然后再次执行:

1
2
apt-get install megacli megactl megaraid-status

**3.**使用megacli命令进行一些简单的查询

显示所有RAID级别、设置及逻辑盘信息

1
2
sudo megacli -LDInfo -Lall -aALL 

输出

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
                                     
Adapter 0 -- Virtual Drive Information:
Virtual Drive: 0 (Target Id: 0)
Name :
RAID Level : Primary-1, Secondary-0, RAID Level Qualifier-0
Size : 1.090 TB
Sector Size : 512
Is VD emulated : No
Mirror Data : 1.090 TB
State : Optimal
Strip Size : 64 KB
Number Of Drives : 2
Span Depth : 1
Default Cache Policy: WriteBack, ReadAhead, Direct, No Write Cache if Bad BBU
Current Cache Policy: WriteBack, ReadAhead, Direct, No Write Cache if Bad BBU
Default Access Policy: Read/Write
Current Access Policy: Read/Write
Disk Cache Policy : Disk's Default
Encryption Type : None
Default Power Savings Policy: Controller Defined
Current Power Savings Policy: None
Can spin up in 1 minute: Yes
LD has drives that support T10 power conditions: Yes
LD's IO profile supports MAX power savings with cached writes: No
Bad Blocks Exist: No
Is VD Cached: No



Exit Code: 0x00

显示所有的物理信息

1
2
sudo megacli -PDList -aAll

过滤输出

1
2
sudo megacli -PDList -aAll  | grep "Firmware state\|Slot Number\|Error"

全文 >>

使用SMART监控Ubuntu

参考:完全用 GNU/Linux 工作 - 29. 檢測硬碟 S.M.A.R.T. 健康狀態

1.安装

1
2
sudo apt-get install smartmontools

2.查看硬盘的参数,需要获得Root权限

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
sudo smartctl -i /dev/sda

smartctl 6.5 2016-01-24 r4214 [x86_64-linux-4.4.0-122-generic] (local build)
Copyright (C) 2002-16, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF INFORMATION SECTION ===
Model Family: Samsung based SSDs
Device Model: Samsung SSD 850 EVO 250GB
Serial Number: S3LCNF0J807262K
LU WWN Device Id: 5 002538 d42253d35
Firmware Version: EMT03B6Q
User Capacity: 250,059,350,016 bytes [250 GB]
Sector Size: 512 bytes logical/physical
Rotation Rate: Solid State Device
Form Factor: 2.5 inches
Device is: In smartctl database [for details use: -P show]
ATA Version is: ACS-2, ATA8-ACS T13/1699-D revision 4c
SATA Version is: SATA 3.1, 6.0 Gb/s (current: 6.0 Gb/s)
Local Time is: Mon May 7 10:14:29 2018 CST
SMART support is: Available - device has SMART capability.
SMART support is: Enabled

3.如果使用下面的Python脚本来调用该命令的时候,是需要获得Root权限的

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#!/usr/bin/python
# !-*- coding:utf8 -*-

import os


def main():
dir = "~/桌面/test.sh"
result = os.system("sh ~/桌面/test.sh")
# print result


if __name__ == '__main__':
main()

可以使用下面的方法来实现免输入密码,使用 sudo visudo 命令对/etc/sudoers文件增加下面设置

1
2
lintong  ALL=(ALL) NOPASSWD: /usr/sbin/smartctl

全文 >>

Kibana学习笔记——安装和使用

1.首先下载Kibana

1
2
https://www.elastic.co/downloads

2.解压

1
2
tar -zxvf kibana-6.2.1-linux-x86_64.tar.gz -C ~/software/

3.修改配置,在config文件夹下面修改kibana.yml

1
2
3
4
5
#配置本机ip
server.host: "127.0.0.1"
#配置es集群url
elasticsearch.url: "http://127.0.0.1:9200"

4.启动

1
2
./bin/kibana

5.访问web

1
2
http://localhost:5601/app/kibana

6.在Manager里面添加index,demo中的index名称叫做es

添加之后

7.在discover中可以查看数据,里面还会对top数据进行统计

8.在Dev tool中可以进行查询

全文 >>

open-falcon实现邮件报警

1.请安装好Go的环境,参考上一篇open-falcon的安装博文

2.安装** mail-provider**

1
2
https://github.com/open-falcon/mail-provider

安装方法

1
2
3
4
5
6
7
8
cd $GOPATH/src
mkdir github.com/open-falcon/ -p
cd github.com/open-falcon/
git clone https://github.com/open-falcon/mail-provider.git
cd mail-provider
go get ./...
./control build

全文 >>

Ubuntu下安装open-falcon-v0.2.1

在Ubuntu下安装open-falcon和Centos下安装的方法有点区别,因为Ubuntu使用的包管理器是apt-get,而Centos下使用的是Yum,建议不要再Ubuntu下使用yum

建议自己下载源码打包二进制包来安装,因为官方给出的二进制包应该是再centos下打包的,再Ubuntu下运行可能会出现问题

1.安装Go,首先去官网下载,需要fq

1
2
https://golang.org

顺便安装Goland,注册服务器 http://idea.youbbs.org

2.在/etc/profile中添加,后source /etc/profile

1
2
3
4
5
#Go
export GOROOT=/home/lintong/software/go
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
export GOPATH=/home/lintong/software/gopath

验证是否安装成功

1
2
3
go version
go version go1.10.2 linux/amd64

接下来参考

Ubuntu 16.04 部署 open-falcon

运维监控系统之Open-Falcon

Open-falcon的官方README

全文 >>