文件版本:

V1.0

文件编号:

R&D0031

发布日期:


编 制:

xxx

审 批:


Influxdb relay + grafana服务器

目录

1.简介4

1.1 特点4

1.2 influxdb与传统数据库的比较4

1.3 用途4

2.系统部署基础5

2.1 安装5

2.2 启动5

2.3 web界面展示6

2.4 数据库增7

2.5 数据库删与改7

2.6 数据库查询7

2.7 数据库与表的操作8

2.8 数据库保存策略(Retention Policies)8

2.9 连续查询9

2.9 用户管理9

3. 数据展示工具10

3.1 grafana介绍10

3.1 grafana安装,运行,启动10

3.2 grafana访问10

3.3创建Dashbord12

4. IfluxDB Relay12

4.1 简介12

4.2 拓扑介绍12

4.3 源码包安装测试13

4.4 influxdb-relay启动14

4.5 influxdb-relay数据写入同步15

4.6 influxdb-relay节点故障数据写入同步16

5. FAQ17


修订记录

版本号

发布日期

拟制人

修订描述

V1.0



首次发布

















influxdb服务器

1.简介

InfluxDBGo语言编写的一个开源分布式时序、事件和指标数据库,和传统是数据库相比有不少不同的地方。类似的数据库有ElasticsearchGraphite等。

1.1 特点

1.提供了Http接口的API来操作数据

2.提供了类似sql的数据库语句

3.基于时间序列,支持与时间有关的相关函数(如最大,最小,求和等)

4.可度量性:你可以实时对大量数据进行计算

5.基于事件:它支持任意的事件数据

6.无结构(无模式):可以是任意数量的列

7.可拓展的支持min,max,sum,count,mean,median 等一系列函数,方便统计

8.原生的HTTP支持,内置HTTP API

9.强大的类sql语法

10.自带管理界面,方便使用

1.2 influxdb与传统数据库的比较

库、表等比较:

influxDB

传统数据库中的概念

database

数据库
measurement 数据库中的表
points 表里面的一行数据

influxdb数据的构成:

Point由时间戳(time)、数据(field)、标签(tags)组成。

Point属性 传统数据库中的概念
time 每个数据记录时间,是数据库中的主索引(会自动生成)
fields 各种记录值(没有索引的属性)也就是记录的值:温度, 湿度
tags 各种有索引的属性:地区,海拔

这里不得不提另一个名词:series

所有在数据库中的数据,都需要通过图表来展示,而这个series表示这个表里面的数据,可以在图表上画成几条线:通过tags排列组合算出来。具体可以通过SHOW SERIESFROM "表名" 进行查询

1.3 用途

一般用来储存实时数据,配合一套UI界面来展示信息。

2.系统部署基础

2.1 安装

基本环境,准备。

root@ubuntu:~# ls

grafana_4.1.1-1484211277_amd64.deb influxdb_1.1.1_amd64.deb

root@ubuntu:~# cat /etc/issue

Ubuntu 14.04.5 LTS \n \l

root@ubuntu:~# uname -a

Linux ubuntu 3.16.0-30-generic #40~14.04.1-Ubuntu SMP Thu Jan 15 17:43:14 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

开始安装

root@ubuntu:~#dpkg -i influxdb_1.1.1_amd64.deb

Selecting prevIoUsly unselected package influxdb.

(Reading database ... 90134 files and directories currently installed.)

Preparing to unpack influxdb_1.1.1_amd64.deb ...

Unpacking influxdb (1.1.1-1) ...

Setting up influxdb (1.1.1-1) ...

Adding system startup for /etc/init.d/influxdb ...

/etc/rc0.d/K20influxdb -> ../init.d/influxdb

/etc/rc1.d/K20influxdb -> ../init.d/influxdb

/etc/rc6.d/K20influxdb -> ../init.d/influxdb

/etc/rc2.d/S20influxdb -> ../init.d/influxdb

/etc/rc3.d/S20influxdb -> ../init.d/influxdb

/etc/rc4.d/S20influxdb -> ../init.d/influxdb

/etc/rc5.d/S20influxdb -> ../init.d/influxdb

Processing triggers for man-db (2.6.7.1-1ubuntu1) ...

2.2 启动

root@ubuntu:~# /etc/init.d/influxdb start

Starting the process influxdb [ OK ]

influxdb process was started [ OK ]

root@ubuntu:~# netstat -lnp|grep influ

tcp6 0 0 :::8083 :::* LISTEN 5057/influxd

tcp6 0 0 :::8086 :::* LISTEN 5057/influxd

tcp6 0 0 :::8088 :::* LISTEN 5057/influxd

8083 web管理端 http://ip:8083用户名和密码都是admin,InfluxDB Web 管理界面端口是 8083

8086 HTTP API 监听端口是 8086

8088 集群端口(目前还不是很清楚,配置在全局的bind-address,默认不配置就是开启的)

启动成功之后,我们就可以开始使用influxdb啦!

2.3 web界面展示

root@ubuntu:~# which influx

/usr/bin/influx

root@ubuntu:~# influx

Visit https://enterprise.influxdata.com to register for updates,InfluxDB server management,and monitoring.

Connected to http://localhost:8086 version 0.13.0

InfluxDB shell version: 0.13.0

>

>show databases

name: databases

name

----

_internal

> CREATE DATABASE "testDB"#创建数据库

>show databasestestDB

use testDB#使用testDB数据库类MysqL

Using database testDB

Web界面访问http://ip:8083

注意:新版本默认是关闭该web展示,详见后面FAQ具体解决方法:

wKiom1iYJ2HSURtvAAAeBkCaQ4Q618.png-wh_50

wKioL1iYJ2LgqTPMAACpor5RT-w595.png-wh_50


通过界面操作命令。

2.4 数据库增

> use testDB

Using database testDB

> insert weather,altitude=1000,area=temperature=11,humidity=-4

或者通过HTTP接口增加

curl -i -XPOST 'http://localhost:8086/write?db=testDB' --data-binary 'weather,humidity=-4'

Line Protocol格式

插入数据的格式似乎比较奇怪,这是因为influxDB储存数据所采用的是Line Protocol格式。

在上面两个插入数据的方法中,都有一样的部分。

weather,humidity=-4

其中:

1. weather : 表名

2. altitude=1000,area=北 : tag

3. temperature=11,humidity=-4 field

参考官方文档:

https://docs.influxdata.com/influxdb/v0.10/write_protocols/line/

2.5 数据库删与改

2.6 数据库查询

use testDB

Using database testDB

SELECT * FROM weather ORDER BY time

name: weather

timealtitudeareahumiditytemperature

-----------------------------------

14850746132673340411000-411

通过Http接口

curl -G 'http://localhost:8086/query?pretty=true' --data-urlencode "db=testDB" --data-urlencode "q=SELECT * FROM weather ORDER BY time DESC LIMIT 3"

InfluxDB是支持类sql语句的,具体的查询语法都差不多,就不再详细描述了。详见官方文档

2.7 数据库与表的操作

#创建数据库,库名为db_name

> CREATE DATABASE "db_name"

#显示所有数据库

> SHOW DATABASES

name: databases

name

----

_internal

testDB

db_name

#删除库名字为db_name的库

> DROP DATABASE "db_name"

#切换到testDB数据库

> USE testDB

#显示该数据库中的表

> SHOW MEASUREMENTS

name: measurements

weather

#创建表

#直接在插入数据的时候指定表名字(weather就是表名)

#删除weather

> DROP MEASUREMENT "weather"

2.8 数据库保存策略(Retention Policies)

InfluxDB没有提供直接删除Points的方法,但是它提供了Retention Policies。主要用于指定数据的保留时间:当数据超过了指定的时间之后,就会被删除。

#1.查看当前数据库的Retention Policies

> SHOW RETENTION POLICIES ON "testDB"

namedurationshardGroupDurationreplicaNdefault

---------------------------------------------

autogen0s168h0m0s1true

#2.创建新的Retention Policies

> CREATE RETENTION POLICY "rp_name" ON "testDB" DURATION 30d REPLICATION 1 DEFAULT

说明:

1. rp_name:策略名

2. testDB:具体的数据库名

3. 30d:保存30天,30天之前的数据将被删除

它具有各种时间参数,比如:h(小时),w(星期)

4. REPLICATION 1:副本个数,这里填1就可以了

5. DEFAULT 设为默认的策略

#2.修改Retention Policies

> ALTER RETENTION POLICY "rp_name" ON "testDB" DURATION 3w DEFAULT

#3.删除Retention Policies

> DROP RETENTION POLICY "rp_name" ON "testDB"

2.9 连续查询

当数据超过保存策略里指定的时间之后,就会被删除。如果我们不想完全删除掉,比如做一个数据统计采样:把原先每秒的数据,存为每小时的数据,让数据占用的空间大大减少(以降低精度为代价)。这就需要InfluxDB提供的:连续查询(Continuous Queries)。

#1.当前数据库的continus Queries

> SHOW CONTINUOUS QUERIES

name: _internal

namequery

---------

name: testDB

---------

#2.创建新的continus Queries

2.9 用户管理

#显示用户

> SHOW USERS

useradmin

---------

#创建用户

> CREATE USER "realcloud" WITH PASSWORD '123456'

#创建管理员权限的用户

> CREATE USER "cmz" WITH PASSWORD 'cmz' WITH ALL PRIVILEGES

#删除用户

> DROP USER "cmz"

#设置登录密码

3.数据展示工具

3.1 grafana介绍

数据最终是需要一套UI来展示的,而这种实时数据的展示,已经有不少项目了。 比如:

1. 官方的Chronograf

2. Grafana

3. 其它...

3.1 grafana安装,运行,启动

此时我选择的使用Grafana

root@ubuntu:~# ls

grafana_4.1.1-1484211277_amd64.deb influxdb_1.1.1_amd64.deb

#安装

root@ubuntu:~# dpkg -i grafana_4.1.1-1484211277_amd64.deb

Selecting prevIoUsly unselected package grafana.

(Reading database ... 61968 files and directories currently installed.)

Preparing to unpack grafana_4.1.1-1484211277_amd64.deb ...

Unpacking grafana (4.1.1-1484211277) ...

Setting up grafana (4.1.1-1484211277) ...

Adding system user `grafana' (UID 106) ...

Adding new user `grafana' (UID 106) with group `grafana' ...

Not creating home directory `/usr/share/grafana'.

### NOT starting grafana-server by default on bootup,please execute

sudo update-rc.d grafana-server defaults 95 10

### In order to start grafana-server,execute

sudo service grafana-server start

Processing triggers for ureadahead (0.100.0-16) ...

ureadahead will be reprofiled on next reboot

#启动

root@ubuntu:~# /etc/init.d/grafana-server start

* Starting Grafana Server [ OK ]

安装步骤参考:http://grafana.org/download/

3.2 grafana访问

1)Web登录,直接访问:http://your_ip:3000

默认帐号:admin
默认密码:admin

wKiom1iYJ6uwmhSRAACPipeqI0E794.png-wh_50

wKioL1iYJ6zAuQiYAADqBPL_yvY608.png-wh_50

2)Data Sources中添加数据库testDB

wKiom1iYJ7-gI9ZtAACf_UW9wuI226.png-wh_50

wKioL1iYJ-yhyYmbAACIh6bedKQ001.png-wh_50

wKiom1iYJ-zQYMblAAB4zwyU1GU703.png-wh_50

wKioL1iYJ-yCtQkuAAB1B0UKexs032.png-wh_50


其中userpassword,如果没有设置过,可以随便填下。
保存之后,可以通过Test Connection来测试,是否填写正确。

3.3创建Dashbord

点击New按钮就可以了。

wKiom1iYKAqzzXmJAAChYZyqdVM148.png-wh_50

4.IfluxDB Relay

4.1 简介

该项目为influxdb添加了一个基本的高可用性层。通过正确的体系结构和灾难恢复过程,实现了高度可用的设置。

提示:influxdb-relaymust be built with Go 1.5+

参考链接:

https://github.com/influxdata/influxdb-relay/blob/master/README.md

4.2 拓扑介绍

体系结构相当简单,包括负载平衡器、两个或多个influxdb中继进程和两个或多个influxdb进程。负载平衡器应使用路径/写入将UDP通信和http post请求指向两个继电器,同时将路径/查询指向两个influxdb服务器。安装程序应该如下:

wKioL1iYKDKTwyY2AAApE2ud6GI011.png-wh_50

给我的感觉,这个 influxdb-relay是一个数据库中间件的角色,起到了一个代理的作用

4.3 源码包安装测试

1.实验环境

IP

系统环境

安装软件

192.168.5.200

Ubuntu14.04 x64

influxdb

influxdb-relay

192.168.5.202

Ubuntu14.04 x64

influxdb


此时上文只在200机器上安装了influxdb,此时要在202上也要安装influxdb。也可以只安装在一个机器上,我分开安装了,更贴切实际生产情况。

2. 安装golang环境

influxdb releasedeb包本身是已经编译好的,并不需要golang的环境。而influxdb-relay目前还只是存放在github上,因此需要先安装golang环境。手动下载更高版本的golang是需要的。

3. 下载并解压1.6.2版本的golang压缩包

root@ubuntu:~# apt-get install git

root@ubuntu:~#wget http://www.golangtc.com/static/go/1.6.2/go1.6.2.linux-amd64.tar.gz

root@ubuntu:~# ls go1.6.2.linux-amd64.tar.gz

go1.6.2.linux-amd64.tar.gz

root@ubuntu:~# tar -zxf go1.6.2.linux-amd64.tar.gz -C /usr/local/

4. 配置环境变量

root@ubuntu:~# tail -9 /etc/profile

#add by caimengzhi at 2017-01-23 for go. start

export GOROOT=/usr/local/go

export GOBIN=$GOROOT/bin

export GOPKG=$GOROOT/pkg/tool/linux_amd64

export GOARCH=amd64

export GOOS=linux

export GOPATH=$HOME

export PATH=$PATH:$GOBIN:$GOPKG:$GOPATH/bin

#add by caimengzhi at 2017-01-23 for go. End

root@ubuntu:~# source /etc/profile

root@ubuntu:~# go version

go version go1.6.2 linux/amd64

root@ubuntu:~# GOPATH=/root/go

root@ubuntu:~# go get github.com/influxdata/influxdb-relay

root@ubuntu:~# ls

gogo1.6.2.linux-amd64.tar.gz grafana_4.1.1-1484211277_amd64.deb influxdb_1.1.1_amd64.debsrc

#此时会在/root发现go文件

root@ubuntu:~# cp $GOPATH/src/github.com/influxdata/influxdb-relay/sample.toml ./relay.toml

root@ubuntu:~# vim relay.toml

-bash: /root/go/bin/influxdb-relay: No such file or directory

root@ubuntu:~# which influxdb-relay

/usr/local/go/bin/influxdb-relay

5. 配置文件解释

root@ubuntu:~# cat relay.toml

[[http]]

name = "example-http"

bind-addr = "192.168.5.200:9096"

output = [

{ name="local1",location = "http://192.168.5.200:8086/write" },

{ name="local2",location = "http://192.168.5.202:8086/write" },215);">]

[[udp]]

name = "example-udp"

read-buffer = 0 # default

]

4.4 influxdb-relay启动

root@ubuntu:~# /usr/local/go/bin/influxdb-relay -config relay.toml >/tmp/influxdb_relay.log 2>/dev/null &

[1] 10943

再指定之前influxdb-relay配置的端口9096,成功进入其他的influxdb

root@ubuntu:~# influx -port 9096

Visit https://enterprise.influxdata.com to register for updates,190);">Connected to http://localhost:9096 version relay

InfluxDB shell version: 1.1.1

4.5 influxdb-relay数据写入同步

验证可以通过influxdb-relay写数据

root@ubuntu:~#

curl -i -XPOST 'http://localhost:9096/write?db=testDB' --data-binary 'cpu_load_short,host=server01,region=us-west value=0.64 1434055562000000000'

2017/01/23 17:53:43 Problem posting to relay "example-http" backend "local2": Post http://127.0.0.1:7086/write?db=testDB: dial tcp 127.0.0.1:7086: getsockopt: connection refused

HTTP/1.1 204 No Content

Date: Mon,23 Jan 2017 09:53:43 GMT

1. 进入节点1influxdb验证数据写入

root@ubuntu:~# influx

Connected to http://localhost:8086 version 1.1.1

InfluxDB shell version: 1.1.1

> select * from cpu_load_short

name: cpu_load_short

timehostregionvalue

-------------------

1434055562000000000server01us-west0.64

2. 进入节点2influxdb验证数据写入

> use testDB;

Using database cmz

1434055562000000000server01us-west0.64

从上可以看出通过调用relay的端口9096.写入数据,两个节点都会有相对数据写入。

注意点:

### 缺陷,不知道是不是坑,反正在官网的github上没看到这个注意点
# 手动在所有节点上创建数据库write操作并不包含创建数据库,所以需要手动在所有节点上提前创建数据库

4.6 influxdb-relay节点故障数据写入同步

# 故障节点操作

1.停止节点1influxdb

root@loocha15:~# /etc/init.d/influxdb stop

Stopping influxdb...

influxdb process was stopped [ OK ]

2.此时继续写入数据

curl -i -XPOST 'http://localhost:9096/write?db=cmz' --data-binary 'cpu_load_short,host=beijing,region=east value=2 2222222222'

2017/02/06 15:19:26 Problem posting to relay "example-http" backend "local1": Post http://192.168.3.35:8086/write?db=cmz: dial tcp 192.168.3.35:8086: getsockopt: connection refused

3.节点2 验证数据

> use cmz;

1111111111nanjingeast123

2222222222beijingeast2 #这一条就是节点1故障后,写入的数据

1434055562000000000server01us-west0.64

到此截止influxdbHA已经测试完毕。

5.FAQ

1.WEB展示404

root@ubuntu:~# curl localhost:8086 -I

HTTP/1.1 404 Not Found

Content-Type: text/plain; charset=utf-8

X-Content-Type-Options: nosniff

X-Influxdb-Version: 1.1.1

Date: Sun,22 Jan 2017 09:36:48 GMT

Content-Length: 19

Influxdb新版本web界面不展示解决方法

1.新安装influxdb web界面不展示

wKiom1iYKGaS3ac3AABE2yQs7mg782.png-wh_50

访问的时候404.

解决方法:

一、问题原因

InfluxDB0.13版本以后,就默认关闭了web管理页面,而国内的文档大多都以旧版的InfluxDB为标准写的,所以下载安装好最新版本以后,就会出现8083端口的web管理页面访问不了的问题。

二、解决方案

新版的InfluxDB虽然默认关闭了web管理页面,但我们可以通过很简单的方式进行开启。

打开配置文件vim /etc/influxdb/influxdb.conf 找到如下几行:

wKioL1iYKHHzzif-AAI6IUXobxI426.png-wh_50

修改后如下:

spacer.gif图片2.png" src="http://s4.51cto.com/wyfs02/M00/8D/57/wKiom1iYKHyT_3IeAABQgAFgU_U781.png-wh_500x0-wm_3-wmp_4-s_314901785.png">

重启服务

root@ubuntu:~# /etc/init.d/influxdb restart

influxdb process already stopped [ OK ]

Starting influxdb...

influxdb process was started [ OK ]

查看端口号8083(之前是没有的)

root@ubuntu:~# netstat -lnp|grep influ

tcp6 0 0 :::8083 :::* LISTEN 5057/influxd

tcp6 0 0 :::8086 :::* LISTEN 5057/influxd

tcp6 0 0 :::8088 :::* LISTEN 5057/influxd

Web界面访问展示:

http://ip:8083

spacer.gif图片1.png" src="http://s1.51cto.com/wyfs02/M00/8D/57/wKiom1iYKJbQx5neAAHm-t5HKAA662.png-wh_500x0-wm_3-wmp_4-s_4013767199.png">

OK.

2. command

root@ubuntu:~# go get -u github.com/influxdata/influxdb-relay

go: missing Git command. See https://golang.org/s/gogetcmd

package github.com/influxdata/influxdb-relay: exec: "git": executable file not found in $PATH

解决:

root@ubuntu:~# apt-get install git

3.relay命令行管理不了

root@ubuntu:~# !net

netstat -lnp|grep 9096

tcp 0 0 127.0.0.1:9096 0.0.0.0:* LISTEN 3502/influxdb-relay

udp 0 0 127.0.0.1:9096 0.0.0.0:* 3502/influxdb-relay

root@ubuntu:~# influx -port 9096

Visit https://enterprise.influxdata.com to register for updates,and monitoring.

Connected to http://localhost:9096 version relay

InfluxDB shell version: 1.1.1

> show database;

ERR: invalid write endpoint

Warning: It is possible this error is due to not setting a database.

Please set a database with the command "use <database>".

Influxdb relay ubuntu的更多相关文章

  1. 详解前端HTML5几种存储方式的总结

    本篇文章主要介绍了前端HTML5几种存储方式的总结 ,主要包括本地存储localstorage,本地存储sessionstorage,离线缓存(application cache),Web SQL,IndexedDB。有兴趣的可以了解一下。

  2. PhoneGap / iOS上的SQLite数据库 – 超过5mb可能

    我误解了什么吗?Phonegap中的sqlitedbs真的有5mb的限制吗?我正在使用Phonegap1.2和iOS5.解决方法您可以使用带有phonegap插件的原生sqliteDB,您将没有任何限制.在iOS5.1中,Websql被认为是可以随时删除的临时数据…

  3. ios – 领域:如何获取数据库的当前大小

    是否有RealmAPI方法使用RealmSwift作为数据存储来获取我的RealmSwift应用程序的当前数据库大小?

  4. ios – Realm – 无法使用现有主键值创建对象

    我有一个对象有许多狗的人.应用程序有单独的页面,它只显示狗和其他页面显示人的狗我的模型如下我有人存储在Realm中.人有详细页面,我们取,并显示他的狗.如果狗已经存在,我会更新该狗的最新信息并将其添加到人的狗列表中,否则创建新狗,保存并将其添加到人员列表中.这适用于coredata.在尝试用他的狗更新人时,领域会抛出异常无法使用现有主键值创建对象解决方法这里的问题是,即使你正在创建一个全新的Rea

  5. ios – UIWebView中的WebSQL / SQLite数据库的最大大小(phonegap)

    我知道一般来说,Web应用程序的本地存储空间有5MB的限制.本地网页浏览应用程式是否也有这个限制?

  6. ios – Firebase离线存储高级 – 手动同步和进度信息

    >我可以提供一个捆绑数据库–安装App后我可以已经离线查询了Firebase数据?然后我有另一个关于Firebase的主要问题:>JSON存储是伟大的–但是这样我们不关心一个独特的结构,我们必须注意这一点插入总是正确的数据集?我从来没有试图显示实际的进展,但是当您从firebase中检索数据时,始终会在成功检索数据时调用onDataChange方法.https://firebase.google.com/docs/database/android/retrieve-data#read_data_onceC

  7. ios – 如何处理多用户数据库

    我的应用程序就像很多应用程序–它有一个用户输入用户名和密码的登录屏幕,以及登录按钮我的应用程序还使用CoreData来保存大多数用户的业务对象,当然也是用户特定的.我也有一个登出按钮来启用切换用户.这不会发生很多,但仍然是必要的).现在如果不同的用户登录,我需要获取他的具体数据.但是我该如何做呢?

  8. ios – Swift从Firebase数据库中获取特定价值

    我正在尝试从Firebase数据库中获取特定值.我看了一些像谷歌这样的文件,但我做不到.这是数据库的JSON文件:SWIFT代码:我想获得用户的电子邮件价值,而不是每个人.我怎样才能做到这一点?解决方法在您的代码中,快照将包含子值的字典.要访问它们,请将snapshot.value转换为Dictionary,然后访问各个子项是一个快照

  9. ios – Realm Swift:在卸载应用程序后是否可以保留数据库?

    使用realmswift,即使从设备上卸载应用程序,是否可以在设备内存中保留和维护应用程序的领域数据库文件?非常感谢您的帮助.解决方法删除应用程序时,应用程序的所有文件都是剩余的.iOS应用程序是沙盒.这意味着每个应用程序在磁盘中都有自己的空间,并有自己的目录,这些目录充当应用程序及其数据的主页.从iPhone删除应用程序会删除此沙箱,删除与该应用程序关联的所有数据.

  10. ios – 在没有XML的情况下更新sqlite数据库

    我的应用程序需要来自sqlite数据库的数据.它将附带此数据库的一个版本,但我需要定期更新它(很可能每月一次).通常情况下,我一直在通过我设置的一堆网络服务将我的应用程序的其他部分的更新作为XML发送,但我现在正在处理的这个特定数据库非常大(大约20-30MB),而且我当我尝试以这种方式发送时出现超时错误.我尝试将数据库放在我的公司服务器上,然后将其下载到NSData对象中.然后我将该数据对象保存

随机推荐

  1. crontab发送一个月份的电子邮件

    ubuntu14.04邮件服务器:Postfixroot收到来自crontab的十几封电子邮件.这些邮件包含PHP警告.>我已经解决了这些警告的原因.>我已修复每个cronjobs不发送电子邮件(输出发送到>/dev/null2>&1)>我删除了之前的所有电子邮件/var/mail/root/var/spool/mail/root但我仍然每小时收到十几封电子邮件.这些电子邮件来自cronjobs,

  2. 模拟两个ubuntu服务器计算机之间的慢速连接

    我想模拟以下场景:假设我有4台ubuntu服务器机器A,B,C和D.我想在机器A和机器C之间减少20%的网络带宽,在A和B之间减少10%.使用网络模拟/限制工具来做到这一点?

  3. ubuntu-12.04 – 如何在ubuntu 12.04中卸载从源安装的redis?

    我从源代码在Ubuntu12.04上安装了redis-server.但在某些时候它无法完全安装,最后一次makeinstallcmd失败.然后我刚刚通过apt包安装.现在我很困惑哪个安装正在运行哪个conf文件?实际上我想卸载/删除通过源安装的所有内容,只是想安装一个包.转到源代码树并尝试以下命令:如果这不起作用,您可以列出软件自行安装所需的步骤:

  4. ubuntu – “apt-get source”无法找到包但“apt-get install”和“apt-get cache”可以找到它

    我正在尝试下载软件包的源代码,但是当我运行时它无法找到.但是当我运行apt-cache搜索squid3时,它会找到它.它也适用于apt-getinstallsquid3.我使用的是Ubuntu11.04服务器,这是我的/etc/apt/sources.list我已经多次更新了.我尝试了很多不同的debs,并没有发现任何其他地方的错误.这里的问题是你的二进制包(deb)与你的源包(deb-src)不

  5. ubuntu – 有没有办法检测nginx何时完成正常关闭?

    &&touchrestarted),因为即使Nginx没有完成其关闭,touch命令也会立即执行.有没有好办法呢?这样的事情怎么样?因此,pgrep将查找任何Nginx进程,而while循环将让它坐在那里直到它们全部消失.你可以改变一些有用的东西,比如睡1;/etc/init.d/Nginx停止,以便它会休眠一秒钟,然后尝试使用init.d脚本停止Nginx.你也可以在某处放置一个计数器,这样你就可以在需要太长时间时发出轰击信号.

  6. ubuntu – 如何将所有外发电子邮件从postfix重定向到单个地址进行测试

    我正在为基于Web的应用程序设置测试服务器,该应用程序发送一些电子邮件通知.有时候测试是使用真实的客户数据进行的,因此我需要保证服务器在我们测试时无法向真实客户发送电子邮件.我想要的是配置postfix,以便它接收任何外发电子邮件并将其重定向到一个电子邮件地址,而不是传递到真正的目的地.我正在运行ubuntu服务器9.10.先感谢您设置本地用户以接收所有被困邮件:你需要在main.cf中添加:然后

  7. ubuntu – vagrant无法连接到虚拟框

    当我使用基本的Vagrantfile,只配置了两条线:我看到我的虚拟框打开,但是我的流氓日志多次显示此行直到超时:然后,超时后的一段时间,虚拟框框终于要求我登录,但是太久了!所以我用流氓/流氓记录.然后在我的物理机器上,如果我“流氓ssh”.没有事情发生,直到:怎么了?

  8. ubuntu – Nginx – 转发HTTP AUTH – 用户?

    我和Nginx和Jenkins有些麻烦.我尝试使用Nginx作为Jenkins实例的反向代理,使用HTTP基本身份验证.它到目前为止工作,但我不知道如何传递带有AUTH用户名的标头?}尝试将此指令添加到您的位置块

  9. Debian / Ubuntu – 删除后如何恢复/ var / cache / apt结构?

    我在ubuntu服务器上的空间不足,所以我做了这个命令以节省空间但是现在在尝试使用apt时,我会收到以下错误:等等显然我删除了一些目录结构.有没有办法做apt-getrebuild-var-tree或类似的?

  10. 检查ubuntu上安装的rubygems版本?

    如何查看我的ubuntu盒子上安装的rubygems版本?只是一个想法,列出已安装的软件包和grep为ruby或宝石或其他:)dpkg–get-selections

返回
顶部