Commit 1f779ff3 by admin

修改了检测的规则,并且把其他媒体加上了预警

parent 103ea399
...@@ -5,4 +5,5 @@ ...@@ -5,4 +5,5 @@
.project .project
.svn .svn
.settings/ .settings/
target/ target/
\ No newline at end of file /Jenkinsfile/
\ No newline at end of file
...@@ -156,7 +156,9 @@ public class NewsDelayed implements Serializable { ...@@ -156,7 +156,9 @@ public class NewsDelayed implements Serializable {
return "NewsDelayed [templateId=" + templateId + ", tempName=" + tempName + ", newsDelayed=" + newsDelayed return "NewsDelayed [templateId=" + templateId + ", tempName=" + tempName + ", newsDelayed=" + newsDelayed
+ ", delayedInterval=" + delayedInterval + ", testCount=" + testCount + ", time=" + time + ", savetime=" + ", delayedInterval=" + delayedInterval + ", testCount=" + testCount + ", time=" + time + ", savetime="
+ savetime + ", host=" + host + ", port=" + port + ", collection=" + collection + ", dBName=" + dBName + savetime + ", host=" + host + ", port=" + port + ", collection=" + collection + ", dBName=" + dBName
+ ", pt=" + pt + ", startNow=" + startNow + ", nextRun=" + nextRun + "]"; + ", pt=" + pt + ", startNow=" + startNow + ", nextRun=" + nextRun + ", spyderInfoId=" + spyderInfoId
+ "]";
} }
} }
...@@ -59,7 +59,7 @@ public class MessageDaoImpl implements MessageDao { ...@@ -59,7 +59,7 @@ public class MessageDaoImpl implements MessageDao {
for (int j = 0; j < fields.length; j++) { for (int j = 0; j < fields.length; j++) {
fields[j].setAccessible(true); fields[j].setAccessible(true);
try { try {
if (fields[j].getName().equals("templateId")) { if (fields[j].getName().equals("templateId")||fields[j].getName().equals("tempName")) {
continue; continue;
} }
if (fields[j].get(message) != null) if (fields[j].get(message) != null)
...@@ -69,7 +69,7 @@ public class MessageDaoImpl implements MessageDao { ...@@ -69,7 +69,7 @@ public class MessageDaoImpl implements MessageDao {
e.printStackTrace(); e.printStackTrace();
} }
} }
WriteResult result = mongo.upsert(Query.query(Criteria.where("_id").is(message.getMessageId())), update, WriteResult result = mongo.upsert(Query.query(Criteria.where("tempName").is(message.getTempName())), update,
Message.class); Message.class);
if (result.getN() == 1) { if (result.getN() == 1) {
return "修改成功"; return "修改成功";
......
...@@ -48,7 +48,10 @@ public class MainThread extends Thread { ...@@ -48,7 +48,10 @@ public class MainThread extends Thread {
counts.put("微博", 2000); counts.put("微博", 2000);
counts.put("微信", 3500); counts.put("微信", 3500);
counts.put("知乎", 300); counts.put("知乎", 300);
// counts.put("平媒", 300); counts.put("平媒", 300);
counts.put("今日头条", 1000);
counts.put("贴吧", 250);
counts.put("论坛", 30);
} }
public MainThread() { public MainThread() {
...@@ -183,7 +186,7 @@ public class MainThread extends Thread { ...@@ -183,7 +186,7 @@ public class MainThread extends Thread {
map.put(chan.getPt(), chan.getValue()); map.put(chan.getPt(), chan.getValue());
try { try {
ServerBean ser = serverService.findServer(chan.getPt()); ServerBean ser = serverService.findServer(chan.getPt());
count = es.getCountByPt(start.getTime(), end.getTime(), chan.getPt(), chan.getValue(), ser); count = es.getCountByPt(start.getTime(), end.getTime(), chan.getPt(), chan.getValue(), ser);//当日的数据量
System.out.println(count); System.out.println(count);
Data data = new Data(); Data data = new Data();
data.setCount(count); data.setCount(count);
...@@ -191,11 +194,15 @@ public class MainThread extends Thread { ...@@ -191,11 +194,15 @@ public class MainThread extends Thread {
data.setTime(start.getTime()); data.setTime(start.getTime());
dataService.insert(data); dataService.insert(data);
log.info(sdf.format(start.getTime()) + "|" + chan.getPt() + "|入库"); log.info(sdf.format(start.getTime()) + "|" + chan.getPt() + "|入库");
start.setTime(end.getTime());
start.add(Calendar.HOUR, -1);
count = es.getCountByPt(start.getTime(), end.getTime(), chan.getPt(), chan.getValue(), ser);//小时的数据量
if (counts.get(chan.getPt()) != null) if (counts.get(chan.getPt()) != null)
if (count < counts.get(chan.getPt())) { if (count < counts.get(chan.getPt())) {
Messages m = new Messages(); Messages m = new Messages();
m.setTitle("渠道低数据量预警{" + chan.getPt() + "}"); m.setTitle("渠道低数据量预警{" + chan.getPt() + "}");
m.setContent("1小时内的数据量为:" + count); m.setContent("1小时内的数据量为:" + count);
m.setDate(sdf.format(start.getTime()));
for (String mail : Config.getVal("count_mail").split(",")) { for (String mail : Config.getVal("count_mail").split(",")) {
SendMailUtil.sendMessage(mail, m); SendMailUtil.sendMessage(mail, m);
} }
......
...@@ -16,7 +16,6 @@ public class NewsServiceImpl implements NewsService{ ...@@ -16,7 +16,6 @@ public class NewsServiceImpl implements NewsService{
@Autowired @Autowired
private NewsDao newsDao; private NewsDao newsDao;
private ESUtil es=new ESUtil();
@Override @Override
public List<News> findByNew(int delayedCount, String type, String source) { public List<News> findByNew(int delayedCount, String type, String source) {
...@@ -52,7 +51,7 @@ public class NewsServiceImpl implements NewsService{ ...@@ -52,7 +51,7 @@ public class NewsServiceImpl implements NewsService{
@Override @Override
public List<Map<String, Object>> findNews(String host, int port, String dbNamel, String collection, int count, public List<Map<String, Object>> findNews(String host, int port, String dbNamel, String collection, int count,
String id,String pt) { String id,String pt) {
return es.getDatasMap(host, port, dbNamel, collection, count, id, pt); return ESUtil.getDatasMap(host, port, dbNamel, collection, count, id, pt);
} }
......
...@@ -119,7 +119,8 @@ public class ESUtil { ...@@ -119,7 +119,8 @@ public class ESUtil {
// System.out.println(searchHits.getTotalHits()); // System.out.println(searchHits.getTotalHits());
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS Z"); SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS Z");
for(Map<String,Object> map:getDatasMap("1.119.44.201", 9300, "Media-University", "mediaspider*", 20, "UrlListDetail74ec93ff-2275-4f22-bb62-bae580f2d43b", "网媒")) { for(Map<String,Object> map: getDatasMap("1.119.44.201", 9300, "Media-University", "mediaspider*"
, 20, "UrlListDetaildb4b9042-006f-4d09-a643-de379ac07e15", "平媒")) {
System.out.println(map.get("title")); System.out.println(map.get("title"));
String date = map.get("time").toString().replace("Z", " UTC"); String date = map.get("time").toString().replace("Z", " UTC");
// System.out.println(map.get("time")); // System.out.println(map.get("time"));
...@@ -144,20 +145,22 @@ public class ESUtil { ...@@ -144,20 +145,22 @@ public class ESUtil {
String id,String pt) { String id,String pt) {
List<Map<String,Object>> list=new ArrayList<>(); List<Map<String,Object>> list=new ArrayList<>();
Client esClient=null; Client esClient=null;
Calendar cal=Calendar.getInstance();
cal.add(Calendar.DATE, -7);
try { try {
if (DbDepot.esClients.get(pt) == null) { if (DbDepot.esClients==null||DbDepot.esClients.get(pt) == null) {
esClient = new ESClient(dbNamel, host, port).getClient(); esClient = new ESClient(dbNamel, host, port).getClient();
DbDepot.esClients.put(pt, esClient); // DbDepot.esClients.put(pt, esClient);
} else { } else {
esClient = (Client) DbDepot.esClients.get(pt); esClient = (Client) DbDepot.esClients.get(pt);
} }
// 搜索数据 // 搜索数据
SearchRequestBuilder srb = esClient.prepareSearch(collection); SearchRequestBuilder srb = esClient.prepareSearch(collection);
srb.setPostFilter(QueryBuilders.rangeQuery("time").gte(getNeedTime(cal)).lte(getNeedTime(Calendar.getInstance())));
BoolQueryBuilder bb = new BoolQueryBuilder(); BoolQueryBuilder bb = new BoolQueryBuilder();
srb.setQuery(bb);
srb.addSort("time", SortOrder.DESC);
QueryBuilder matchQuery = QueryBuilders.matchPhraseQuery("spyderInfoId",id); QueryBuilder matchQuery = QueryBuilders.matchPhraseQuery("spyderInfoId",id);
bb.should(matchQuery); bb.should(matchQuery);
srb.setQuery(bb);
srb.setSize(count); srb.setSize(count);
SearchResponse response = srb.execute().actionGet(); SearchResponse response = srb.execute().actionGet();
SearchHits searchHits = response.getHits(); SearchHits searchHits = response.getHits();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment