小编Ben*_*ari的帖子

在grafana仪表板中如何设置警报邮件配置?

  • Grafana 4.0 版

  • 数据源流入数据库

请把我当作初学者。为此,如何在 Grafana 仪表板中设置警报?警报发送到电子邮件。

/etc/grafana/grafana.ini
Run Code Online (Sandbox Code Playgroud)

我写了这样的 SMTP 配置:

[smtp] 
enabled = True
host = localhost:25
user = 
If the password contains # or ; you have to wrap it with trippel 
quotes. Ex """#password;"""
[emails]
welcome_email_on_sign_up = True
Run Code Online (Sandbox Code Playgroud)

当我在 Grafana 仪表板中设置警报时,其显示错误:

template variables are not supported.
Run Code Online (Sandbox Code Playgroud)

influxdb grafana

2
推荐指数
1
解决办法
1万
查看次数

Django 中从 sqlite 迁移到 postgresql

我想从sqlite迁移到postgresql数据库:
我安装了 postgresql 并在其 shell 上创建数据库,然后配置我的 django 设置如下:

'default': {
    'ENGINE': 'django.db.backends.postgresql',
    'NAME': 'dbname',
    'USER': 'username',
    'PASSWORD': 'dbpass',
    'HOST': 'localhost',
    'PORT': '',
}
Run Code Online (Sandbox Code Playgroud)

或者:

'default': {
    'ENGINE': 'django.db.backends.postgresql_psycopg2',
    'NAME': 'dbname',
    'USER': 'username',
    'PASSWORD': 'dbpass',
    'HOST': 'localhost',
    'PORT': '',
}
Run Code Online (Sandbox Code Playgroud)

但是python manage.py migrate我什么时候遇到这个错误

ValueError: invalid literal for int() with base 10: '0x000
Run Code Online (Sandbox Code Playgroud)

完整回溯:

Operations to perform:
  Apply all migrations: delta_device, admin, menu, sessions, datapipeline, datacollector, siemens_s7, contenttypes, auth, settings
Running migrations:
  Rendering model …
Run Code Online (Sandbox Code Playgroud)

python sqlite django postgresql

2
推荐指数
1
解决办法
2437
查看次数

如何从C访问asyncio/uvloop循环

我是python的新手,但是有一个使用uvloop的异步python应用程序,它使用我创建的C api模块,它也需要访问异步循环.

1)asyncio还没有这个c-api?任何在C中使用事件循环的hack?这是在哪里讨论?

2)uvloop使用我在C中熟悉的libuv.如果我可以抓取uv_loop_t指针,我可以挂钩循环.我想我可以:

A)使用PyObject*到uvloop的循环计算uv_loop_t*的偏移并使用它?假设我知道PyObject_HEAD的长度?

libuv_loop = (uv_loop_t*)((void*)(loop)+0x8);

struct __pyx_obj_6uvloop_4loop_Loop {
    PyObject_HEAD
    uv_loop_t *uvloop;
Run Code Online (Sandbox Code Playgroud)

B)或非hacky修改uvloop以暴露循环指针.因为我从来没有看过cython代码,所以我完全无能为力.我可以在循环上创建一个python函数,从我的C代码调用它并获取C指针吗?喜欢:

(uv_loop_t*)PyObject_CallFunctionObjArgs( getLoop, NULL )
Run Code Online (Sandbox Code Playgroud)

通过在这里添加getLoop:

https://github.com/MagicStack/uvloop/blob/master/uvloop/loop.pyx

cdef uv.uv_loop_t* _getLoop(self):
    return self.uvloop
Run Code Online (Sandbox Code Playgroud)

cython c-api python-asyncio uvloop

2
推荐指数
1
解决办法
322
查看次数

如何禁用所有 docker 容器 JSON 日志?

我知道,有logrotate的明确的搬运工集装箱原木用这个命令:truncate -s 0 /var/lib/docker/containers/*/*-json.log

但是有什么方法可以禁用所有 docker 容器 json-logs 吗?

logrotate docker docker-container

2
推荐指数
1
解决办法
2291
查看次数

如何在Golang中创建词典列表?

我是Golang的新手。

我想创建一个具有可调整大小功能的字典列表(这不是静态的),并将一些字典追加到列表中,最后将其写入文件中,但是我感到困惑。

我想要这样的东西:

[
 {"port": 161, "timeout": 1, "sleep_time": 5, "metrics": [
  {"tag_name": "output_current", "id": 3},
  {"tag_name": "input_voltage", "id": 2}
 ]},
 {"port": 161, "timeout": 1, "sleep_time": 4, "metrics": [
   {"tag_name": "destructor", "id": 10}
 ]}
]
Run Code Online (Sandbox Code Playgroud)

[更新]:

.append()Go语言中的Python等价于什么?

list_ = []
dict_ = {"key": val}
list_.append(dict_)
Run Code Online (Sandbox Code Playgroud)

我通过借用以下答案找到了本节的答案([更新]):

type Dictionary map[string]interface{}
data := []Dictionary{}
dict1 := Dictionary{"key": 1}
dict2 := Dictionary{"key": 2}
data = append(data, dict1, dict2)
Run Code Online (Sandbox Code Playgroud)

json dictionary list go

2
推荐指数
2
解决办法
807
查看次数

Django Admin list_display: Link to filtered model

I want to make a music library app and in the admin/artist page I would like to link to a list with all the albums by the artist.

Models look like this:

class Artist(models.Model):
    artistName = models.CharField(max_length=100, blank = False) 
    genre = models.CharField(max_length=100, blank = False) 

    def __str__(self):
        return self.artistName

class Album(models.Model):
    artist = models.ForeignKey(Artist, on_delete=models.CASCADE)
    albumName = models.CharField(max_length=500, blank = False)
    year = models.IntegerField(blank = False)

    def __str__(self):
        return self.albumName
Run Code Online (Sandbox Code Playgroud)

Now for the admin part, I imagine that I …

django foreign-keys django-models django-admin

2
推荐指数
1
解决办法
947
查看次数

PointCloud2的内容​​是什么?

PointCloud2的内容​​在ROS中意味着什么?

  1. fields.offset
  2. fields.datatype
  3. fields.count
  4. point_step
  5. row_step

它的文档很差

以下是 Velodyne LiDAR 发布的 PointCloud2 消息:

header: 
  seq: 1071
  stamp: 
    secs: 1521699326
    nsecs: 676390000
  frame_id: "velodyne"
height: 1
width: 66811
fields: 
  - 
    name: "x"
    offset: 0
    datatype: 7
    count: 1
  - 
    name: "y"
    offset: 4
    datatype: 7
    count: 1
  - 
    name: "z"
    offset: 8
    datatype: 7
    count: 1
  - 
    name: "intensity"
    offset: 16
    datatype: 7
    count: 1
  - 
    name: "ring"
    offset: 20
    datatype: 4
    count: 1 …
Run Code Online (Sandbox Code Playgroud)

lidar-data point-clouds lidar ros

2
推荐指数
1
解决办法
4764
查看次数

Android如何获取7位或更多位精度的当前位置

我从LocationListener获得了此代码,但是这段代码只是给出45数字准确,例如43.1234,我想要更高的准确性43.1234567,那么该怎么做呢?

private LocationListener mLocationListener = new LocationListener() {
    @Override
    public synchronized void onLocationChanged(Location l) {
        strLatLng = l.getLatitude() + "," + l.getLongitude();

    }

    @Override
    public void onProviderDisabled(String provider) {
    }

    @Override
    public void onProviderEnabled(String provider) {
    }

    @Override
    public void onStatusChanged(String provider, int status, Bundle extras) {
    }

};
Run Code Online (Sandbox Code Playgroud)

如果有另一种方法而不是in LocationListener,这并不重要,仅当我在google map上setOnMapClickListener这样写时,我才能获得这种准确性:

反正还有这种准确性吗?

googleMap.setOnMapClickListener(new GoogleMap.OnMapClickListener() {
        public void onMapClick(LatLng CLICKED_LOC) {
            double lx,ly;
            lx = CLICKED_LOC.latitude;
            ly = CLICKED_LOC.longitude; …
Run Code Online (Sandbox Code Playgroud)

gps android location google-maps

1
推荐指数
1
解决办法
1634
查看次数

如何签出旧提交并将其推送到当前分支?

我的分支上有一些错误 commit/push,然后我想恢复到旧的正确提交并将其推送到当前分支上

我有以下问题:

git log
    new: xxxxxxx
    ...
    old: ac758a3

git checkout ac758a3
git commit -m 'revert to old branch (ac758a3) to push it on current branch'
Run Code Online (Sandbox Code Playgroud)

出去:

HEAD detached at ac758a3
nothing to commit, working directory clean
Run Code Online (Sandbox Code Playgroud)

[编辑]

示意图:

  • A(我想要的正确提交)--- B(错误提交)--- C(错误提交)

所以我想有以下流程:

  • A --- B --- C --- A

我想恢复到 A(旧提交)并将其推送到当前分支(同一分支)。

什么是快速解决方案?


提前致谢。

git gitlab

1
推荐指数
1
解决办法
4196
查看次数

asyncio 事件循环与 uvloop 的等效项是什么?

我有一个带有协程方法的事件循环,使用asyncio.

我正在寻找使用uvloop替代以下示例的等效项。

这是一个简单的asyncio事件循环示例:

import asyncio

async def read(**kwargs):
    oid = kwargs.get('oid', '0.0.0.0.0.0')
    time = kwargs.get('time', 1)
    try:
        print('start: ' + oid)
    except Exception as exc:
        print(exc)
    finally:
        await asyncio.sleep(time)
        print('terminate: ' + oid)


def event_loop(configs):
    loop = asyncio.get_event_loop()

    for conf in configs:
        asyncio.ensure_future(read(oid=conf['oid'], time=conf['time']))

    return loop

if __name__ == '__main__':
    snmp_configurations = [
        {'time': 5, 'oid': '1.3.6.3.2.4'},
        {'time': 6, 'oid': '1.3.6.3.5.8'},
    ]  # TODO :: DUMMY
    loop = event_loop(snmp_configurations)
    try:
        loop.run_forever()
    except KeyboardInterrupt:
        pass …
Run Code Online (Sandbox Code Playgroud)

python python-3.x async-await python-asyncio uvloop

1
推荐指数
1
解决办法
1万
查看次数